Leadtools.MediaFoundation Namespace > PlayCtrl Class : SourceStream Property |
'Declaration Public Overridable Property SourceStream As Stream
'Usage Dim instance As PlayCtrl Dim value As Stream instance.SourceStream = value value = instance.SourceStream
public virtual Stream SourceStream {get; set;}
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _result As Boolean = False Public _form As PlayCtrlForm = New PlayCtrlForm() Public Sub SourceStreamExample() ' reference the play control Dim playctrl As PlayCtrl = _form.PlayCtrl ' input and output file names Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi") Try ' turn off auto start playctrl.AutoStart = False ' set event handler AddHandler playctrl.StateChanged, AddressOf PlayCtrl_StateChanged ' set the source stream playctrl.SourceStream = New StreamReader(inFile).BaseStream ' set the allowed streams playctrl.AllowedStreams = StreamFormatType.Audio ' play it! playctrl.Run() Catch e1 As Exception _result = False End Try ' we'll loop on the state and pump messages for this example. ' but you should not need to if running from a Windows Forms application. Do While playctrl.State = PlayState.Running Application.DoEvents() Loop End Sub Public Sub PlayCtrl_StateChanged(ByVal sender As Object, ByVal e As StateChangedEventArgs) ' set result If e.lastState = PlayState.Running AndAlso e.state = PlayState.Stopped Then _result = True End If End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media" End Class
using Leadtools; using Leadtools.MediaFoundation; using LeadtoolsMediaFoundationExamples.Fixtures; public bool _result = false; public PlayCtrlForm _form = new PlayCtrlForm(); public void SourceStreamExample() { // reference the play control PlayCtrl playctrl = _form.PlayCtrl; // input and output file names string inFile = Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi"); try { // turn off auto start playctrl.AutoStart = false; // set event handler playctrl.StateChanged += new StateChangedEventHandler(PlayCtrl_StateChanged); // set the source stream playctrl.SourceStream = new StreamReader(inFile).BaseStream; // set the allowed streams playctrl.AllowedStreams = StreamFormatType.Audio; // play it! playctrl.Run(); } catch (Exception) { _result = false; } // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (playctrl.State == PlayState.Running) Application.DoEvents(); } void PlayCtrl_StateChanged(object sender, StateChangedEventArgs e) { // set the result to what we expect _result = (e.lastState == PlayState.Running && e.state == PlayState.Stopped); } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }