diff --git a/projects/editor/src/app/app.module.ts b/projects/editor/src/app/app.module.ts
index 764b6b18d1a20afaa7b8f4af72a06c82ad7283f2..3ae0151f082eb6c5d125c2d9256276bba5807a5c 100644
--- a/projects/editor/src/app/app.module.ts
+++ b/projects/editor/src/app/app.module.ts
@@ -20,7 +20,7 @@ import { StaticCanvasOverlayComponent } from './unit-view/page-view/canvas/stati
 import { DynamicCanvasOverlayComponent } from './unit-view/page-view/canvas/dynamic-canvas-overlay.component';
 import { SharedModule } from '../../../common/shared.module';
 import {
-  ConfirmationDialog, TextEditDialog, MultilineTextEditDialog, RichTextEditDialog
+  ConfirmationDialog, TextEditDialog, MultilineTextEditDialog, RichTextEditDialog, PlayerEditDialog
 } from './dialog.service';
 import { EditorTranslateLoader } from './editor-translate-loader';
 import { ElementPropertiesComponent } from './unit-view/page-view/properties-panel/element-properties.component';
@@ -45,6 +45,7 @@ import { ElementSizingPropertiesComponent } from './unit-view/page-view/properti
     TextEditDialog,
     MultilineTextEditDialog,
     RichTextEditDialog,
+    PlayerEditDialog,
     ElementPropertiesComponent,
     SectionMenuComponent,
     SectionStaticComponent,
diff --git a/projects/editor/src/app/dialog.service.ts b/projects/editor/src/app/dialog.service.ts
index bd3dbb5edfb59011887bb2b8cead4e81a738a3fd..d03c60cfb05e3119370373c55f0011e8f24f7b3a 100644
--- a/projects/editor/src/app/dialog.service.ts
+++ b/projects/editor/src/app/dialog.service.ts
@@ -2,6 +2,7 @@
 import { Component, Inject, Injectable } from '@angular/core';
 import { Observable } from 'rxjs';
 import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
+import { PlayerElement } from '../../../common/interfaces/UIElementInterfaces';
 
 @Injectable({
   providedIn: 'root'
@@ -48,6 +49,18 @@ export class DialogService {
     });
     return dialogRef.afterClosed();
   }
+
+  showPlayerEditDialog(player: PlayerElement): Observable<PlayerElement> {
+    const dialogRef = this.dialog.open(PlayerEditDialog, {
+      width: '470px',
+      height: '520px',
+      data: {
+        player: player
+      },
+      autoFocus: false
+    });
+    return dialogRef.afterClosed();
+  }
 }
 
 @Component({
@@ -120,3 +133,107 @@ export class MultilineTextEditDialog {
 export class RichTextEditDialog {
   constructor(@Inject(MAT_DIALOG_DATA) public data: { text: string }) { }
 }
+
+@Component({
+  selector: 'app-player-edit-dialog',
+  template: `
+    <mat-dialog-content fxLayout="row">
+      <div class="property-column" fxLayout="column">
+        <mat-checkbox [checked]="newPlayerConfig.autostart"
+                      (change)="newPlayerConfig.autostart = $event.checked">
+          Autostart
+        </mat-checkbox>
+        <mat-form-field *ngIf="newPlayerConfig.autostart" appearance="fill">
+          <mat-label>Autostart Verzögerung</mat-label>
+          <input matInput type="number" [value]="newPlayerConfig.autostartDelay"
+                 (input)="newPlayerConfig.autostartDelay = $any($event.target).value">
+        </mat-form-field>
+        <mat-checkbox [checked]="newPlayerConfig.loop"
+                      (change)="newPlayerConfig.loop = $event.checked">
+          Loop
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.startControl"
+                      (change)="newPlayerConfig.startControl = $event.checked">
+          startControl
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.pauseControl"
+                      (change)="newPlayerConfig.pauseControl = $event.checked">
+          pauseControl
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.stopControl"
+                      (change)="newPlayerConfig.stopControl = $event.checked">
+          stopControl
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.progressBar"
+                      (change)="newPlayerConfig.progressBar = $event.checked">
+          progressBar
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.interactiveProgressbar"
+                      (change)="newPlayerConfig.interactiveProgressbar = $event.checked">
+          interactiveProgressbar
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.volumeControl"
+                      (change)="newPlayerConfig.volumeControl = $event.checked">
+          volumeControl
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.uninterruptible"
+                      (change)="newPlayerConfig.uninterruptible = $event.checked">
+          uninterruptible
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.hideOtherPages"
+                      (change)="newPlayerConfig.hideOtherPages = $event.checked">
+          hideOtherPages
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.showRestRuns"
+                      (change)="newPlayerConfig.showRestRuns = $event.checked">
+          showRestRuns
+        </mat-checkbox>
+        <mat-checkbox [checked]="newPlayerConfig.showRestTime"
+                      (change)="newPlayerConfig.showRestTime = $event.checked">
+          showRestTime
+        </mat-checkbox>
+      </div>
+      <div fxLayout="column">
+        <mat-form-field appearance="fill">
+          <mat-label>hintLabel</mat-label>
+          <input matInput type="text" [value]="newPlayerConfig.hintLabel"
+                 (input)="newPlayerConfig.hintLabel = $any($event.target).value">
+        </mat-form-field>
+        <mat-form-field *ngIf="newPlayerConfig.hintLabel !== ''" appearance="fill">
+          <mat-label>hintLabelDelay</mat-label>
+          <input matInput type="number" [value]="newPlayerConfig.hintLabelDelay"
+                 (input)="newPlayerConfig.hintLabelDelay = $any($event.target).value">
+        </mat-form-field>
+        <mat-form-field appearance="fill">
+          <mat-label>activeAfter</mat-label>
+          <input matInput type="text" [value]="newPlayerConfig.activeAfter"
+                 (input)="newPlayerConfig.activeAfter = $any($event.target).value">
+        </mat-form-field>
+        <mat-form-field appearance="fill">
+          <mat-label>minRuns</mat-label>
+          <input matInput type="number" [value]="newPlayerConfig.minRuns"
+                 (input)="newPlayerConfig.minRuns = $any($event.target).value">
+        </mat-form-field>
+        <mat-form-field appearance="fill">
+          <mat-label>maxRuns</mat-label>
+          <input matInput type="number" [value]="newPlayerConfig.maxRuns"
+                 (input)="newPlayerConfig.maxRuns = $any($event.target).value">
+        </mat-form-field>
+      </div>
+    </mat-dialog-content>
+    <mat-dialog-actions>
+      <button mat-button [mat-dialog-close]="newPlayerConfig">Speichern</button>
+      <button mat-button mat-dialog-close>Abbrechen</button>
+    </mat-dialog-actions>
+    `,
+  styles: [
+    'mat-dialog-content {min-height: 410px}',
+    '.property-column {margin-right: 20px}'
+  ]
+})
+export class PlayerEditDialog { // TODO return only changed values, so not all the properties have to be overwritten
+  newPlayerConfig: PlayerElement;
+  constructor(@Inject(MAT_DIALOG_DATA)public data: { player: PlayerElement }) {
+    this.newPlayerConfig = data.player;
+  }
+}
diff --git a/projects/editor/src/app/unit-view/page-view/properties-panel/element-properties.component.html b/projects/editor/src/app/unit-view/page-view/properties-panel/element-properties.component.html
index 0d024a98f154639e0120e906c4371f9d92fe6044..b5d83dbc519b990c8b8fb07c0fbf39f3b860111c 100644
--- a/projects/editor/src/app/unit-view/page-view/properties-panel/element-properties.component.html
+++ b/projects/editor/src/app/unit-view/page-view/properties-panel/element-properties.component.html
@@ -25,6 +25,12 @@
           </div>
         </ng-container>
 
+        <ng-container *ngIf="combinedProperties.autostart !== undefined">
+          <button mat-fab (click)="unitService.showDefaultEditDialog(selectedElements[0])">
+            <mat-icon>build_circle</mat-icon>
+          </button>
+        </ng-container>
+
         <mat-form-field *ngIf="combinedProperties.borderRadius !== undefined" appearance="fill">
           <mat-label>Kantenradius</mat-label>
           <input matInput type="number" [value]="combinedProperties.borderRadius"
diff --git a/projects/editor/src/app/unit.service.ts b/projects/editor/src/app/unit.service.ts
index 49a2c31b87f49a32e58bf85f82344887377de5e8..52dd27fc617dcd3a7048b97f2a993e076ce5331d 100644
--- a/projects/editor/src/app/unit.service.ts
+++ b/projects/editor/src/app/unit.service.ts
@@ -11,6 +11,7 @@ import { Page } from '../../../common/models/page';
 import { Section } from '../../../common/models/section';
 import { InputElement, UIElement } from '../../../common/models/uI-element';
 import { TextElement } from '../../../common/models/text-element';
+import { PlayerElement } from '../../../common/interfaces/UIElementInterfaces';
 
 @Injectable({
   providedIn: 'root'
@@ -242,6 +243,19 @@ export class UnitService {
           }
         });
         break;
+      case 'audio':
+      case 'video':
+        this.dialogService.showPlayerEditDialog(element as unknown as PlayerElement)
+          .subscribe((result: PlayerElement) => {
+            if (result) {
+              console.log('result', result);
+              for (const key in result) {
+                // @ts-ignore
+                this.updateElementProperty([element], key, result[key]);
+              }
+            }
+          });
+        break;
       // no default
     }
   }