Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Multimedia

k23:k23.15:start

23.15 MediaView (gb.media.form)

Diese Klasse implementiert einen Medienplayer mit einfacher Steuerung und ist erzeugbar.

So erzeugen Sie eine neue MediaView:

  Dim hMediaView As MediaView
  hMediaView = New MediaView ( Parent As Container ) [ As "EventName" ]

Alternativ können Sie das Steuerelement MediaView in der IDE aus dem Ordner 'Media' auf das Formular ziehen, wenn Sie zuvor in den Projekt-Eigenschaften die Komponente gb.media.form hinzugefügt haben.

BILD

Abbildung 23.15.1: MediaView als Video-Player

23.15.1 Eigenschaften

Die Klasse MediaView verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
BorderBooleanDas Steuerelement erhält einen Rahmen, wenn der Wert auf True gesetzt wird oder gibt den Wert zurück.
DurationFloatGibt die Spieldauer des Mediums in Sekunden zurück. Hinweis: Dieser Wert bleibt Null, bis die Datei abgespielt wurde. Das einfache Setzen der URL-Eigenschaft zeigt die Mediendauer nicht an!
MutedBooleanDer Ton wird stummgeschaltet, wenn der Wert auf True gesetzt wird oder gibt den Wert zurück.
NextURLStringGibt den Pfad oder die nächste URL der abzuspielenden Medien-Datei zurück oder setzt sie.
PositionFloatGibt die aktuelle Position innerhalb des Mediums in Sekunden zurück oder setzt sie.
ShowControlBooleanDas Steuerelement wird angezeigt, wenn der Wert auf True gesetzt wird oder gibt den Wert zurück.
SpeedFloatGibt die Wiedergabegeschwindigkeit des Mediums zurück oder setzt den Wert. Seit Version 3.12.
StateIntegerGibt den Status des Mediaplayers zurück. Seit Version 3.19.
URLStringGibt den Pfad oder die URL der abzuspielenden Medien-Datei zurück oder setzt sie.
VolumeFloatLegt die Lautstärke der Tonspur auf einen Wert zwischen 0 und 1 fest oder gibt den Lautstärke-Wert zurück.

Tabelle 23.15.1.1 : Eigenschaften der Klasse MediaView

23.15.2 Methoden

Die Klasse MediaView verfügt über diese Methoden:

MethodeBeschreibung
Pause()Die Wiedergabe der Medien-Datei pausiert.
Play()Die Wiedergabe der Medien-Datei wird gestartet.
Stop()Die Wiedergabe der Medien-Datei wird gestoppt/beendet.

Tabelle 23.15.2.1 : Methoden der Klasse MediaView

Beispiel:

  MediaView1.URL = Media.URL("/tmp/media.mpg")
  Print MediaView1.Duration
    MediaView1.Play()
    MediaView1.Pause()
  Print MediaView1.Duration

Ausgaben in der IDE-Konsole (Einheit Sekunden):

  0
  342

23.15.2.1 Ereignisse

Die Klasse MediaView verfügt über dieses relevante Ereignis:

EreignisBeschreibung
AboutToFinish ( )Dieses Ereignis wird ausgelöst, wenn die aktuelle Medienwiedergabe kurz vor dem Ende steht. Es wird etwa zwei Sekunden vor dem Ende des Abspielens der Medien-Datei ausgelöst.

Tabelle 23.15.2.1.1 : Ereignisse der Klasse MediaView

23.15.2.2 Projekt VideoPlayer

Das Projekt ist so konfiguriert, dass Sie Video-Dateien in unterschiedlichen Video-Formaten abspielen können.

Der Quelltext ist kurz und wird hier vollständig angegeben sowie anschließend kommentiert:

  [1] ' Gambas class file
  [2]
  [3] Private $sFileName As String
  [4]
  [5] Public Sub Form_Open()
  [6]     MediaView1.Volume = 0.7
  [7]     FMain.Width = 629
  [8] End
  [9]
  [10] Public Sub btnOpenVideo_Click()
  [11]
  [12]     Dim sFilter As String
  [13]     Dim aFilter As String[]
  [14]
  [15]     Dialog.Title = ("Select a video file")
  [16]     sFilter = "*.avi;*.mp4;*.mpeg;*.mpg;*.webm;*.ogv;*.mkv"
  [17]     Dialog.Filter = [sFilter, ("Video files"), "*", ("All files")]
  [18]     Dialog.FilterIndex = 0
  [19]
  [20]     If Dialog.OpenFile(False) Then Return
  [21]
  [22]     $sFileName = File.Name(Dialog.Path)
  [23]     FMain.Caption = ("Video: ") & $sFileName
  [24]
  [25]     aFilter = ["avi", "mp4", "mpeg", "mpg", "webm", "ogv", "mkv"]
  [26]     If aFilter.Exist(File.Ext(Dialog.Path)) Then
  [27]        MediaView1.URL = Media.URL(Dialog.Path)
  [28]     Endif
  [29]
  [30] End
  [31]
  [32] Public Sub MediaView1_AboutToFinish()
  [33]     Wait 2
  [34]     FMain.Caption = ("The video « ") & $sFileName & (" » has been played")
  [35] End
  [36]
  [37] Public Sub Form_Close()
  [38]
  [39]     Dim hWindow As Window
  [40]
  [41] '-- Close all open windows
  [42]     For Each hWindow In Windows
  [43]         hWindow.Close()
  [44]     Next
  [45]
  [46] End

Kommentare

  • In den Zeilen 10 bis 30 wird eine Video-Datei in einem Dateiauswahl-Dialog ausgewählt. Ein Filter stellt sicher, dass nur bestimmte Video-Formate zur Auswahl stehen.
  • Ein zweites Filter in der Zeile 25 stellt sicher, dass nur bestimmte Video-Formate abgespielt werden können.
  • In der Zeile 25 wird der Pfad einer lokalen Video-Datei mit Hilfe der (statischen) Funktion Media.URL(…) in eine URL umgewandelt und dann in der Zeile 27 der Eigenschaft MediaView.URL zugewiesen.
  • Für das Abspielen, das Pausieren und das Stoppen des Videos stellt das Steuerelement MediaView einen Toogle-Button und einen Button bereit.
  • Wenn Sie eine korrupte Video-Datei – entstanden zum Beispiel nach einer fehlerhaften Format-Konvertierung – abspielen wollen, so erhalten Sie eine (fatale) Fehlermeldung. Gegenwärtig können Sie im Quelltext einen solchen Fehler nicht abfangen.

Im Download-Bereich finden Sie ein Projekt-Archiv mit dem o.a. Beispiel.

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k23/k23.15/start.txt · Zuletzt geändert: 11.01.2024 von honsek

Seiten-Werkzeuge