Die Klasse MediaLink repräsentiert die Verbindung zwischen zwei MediaControl-Objekten und findet lediglich in der Methode GetLink(…) der MediaControl-Klasse Verwendung. Diese Klasse kann nicht erzeugt werden.
Die Klasse MediaLink verfügt nur über diese vier relevanten Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Input | String | Gibt den Namen der anderen Seite des Links zurück, wenn es sich um einen Eingang handelt. |
Output | String | Gibt den Namen der anderen Seite des Links zurück, wenn es sich um einen Ausgang handelt. |
Name | String | Gibt den Namen des Links zurück. |
Peer | MediaControl | Liefert das MediaControl auf der anderen Seite des Links. |
Tabelle 23.9.5.1.1 : Eigenschaften der Klasse MediaLink
Abbildung 23.9.5.1.1: MediaPipeline mit Links
Die Verlinkung der MediaControls erfolgt im folgenden Quelltext-Abschnitt in den Zeilen 11 und 12. Es wird dann in den Zeilen 25 bis 46 gezeigt, wie Sie Informationen zum Steuerelement mcConvert auslesen und anzeigen können:
[1] Private mpPipeline As MediaPipeline [2] Private mcSource As MediaControl [3] Private mcConvert As MediaControl [4] Private mcSink As MediaControl [5] [6] Public Sub CreateAndPlayPipeline() [7] [8] Dim i As Integer [9] Dim hInputs As String[] [10] Dim hOutputs As String[] [11] [12] mpPipeline = New MediaPipeline As "hPipeline" [13] [14] mcSource = New MediaControl(mpPipeline, "uridecodebin") [15] '-- ["uri"] is a property of the MediaControl 'mcsource' or the Gstreamer element 'uridecodebin'. [16] mcSource["uri"] = ComboBox1.Text [17] mcConvert = New MediaControl(mpPipeline, "audioconvert") [18] mcSink = New MediaControl(mpPipeline, "autoaudiosink") [19] [20] mcSource.LinkLaterTo(mcConvert) [21] mcConvert.LinkTo(mcSink) [22] [23] mpPipeline.Play() [24] [25] hInputs = mcConvert.Inputs [26] For i = 0 To hInputs.Max [27] Print "mcConvert-Input: "; i; hInputs[i] [28] Next [29] hOutputs = mcConvert.Outputs [30] For i = 0 To hOutputs.Max [31] Print "mcConvert-Output: "; i; hOutputs[i] [32] NexthOutputs[i] [33] Next [34] [35] Print "\nMediaLink parameters around the mcConvert input:" [36] Print "------------------------------------------------" [37] Print "Type of mcConvert input: "; mcConvert.GetLink("sink").Name [38] Print "Name of mcConvert MediaControl of other side :"; mcConvert.GetLink("sink").Peer.Name [39] Print "Name of output of other side of mcConvert: "; mcConvert.GetLink("sink").Output [40] [41] [42] Print "\nMediaLink parameters around the mcConvert output:" [43] Print "-------------------------------------------------" [44] Print "Type of mcConvert output: "; mcConvert.GetLink("src").Name [45] Print "Name of mcConvert MediaControl of other side: "; mcConvert.GetLink("src").Peer.Name [46] Print "Name of input of other side of mcConvert: "; mcConvert.GetLink("src").Input
Das sind die Ausgaben in der Konsole der IDE:
mcConvert-Input: 0 sink mcConvert-Output: 0 src MediaLink parameters around the mcConvert input: ------------------------------------------------ Type of mcConvert input: sink Name of mcConvert MediaControl of other side: uridecodebin0 Name of output of other side of mcConvert: src_0 MediaLink parameters around the mcConvert output: ------------------------------------------------- Type of mcConvert output: src Name of mcConvert MediaControl of other side: autoaudiosink0 Name of input of other side of mcConvert: sink
Artikel