GetSubObject Method

Summary
Gets the specified topology object.
Syntax
C#
VB
C++
public virtual object GetSubObject( 
   PlayObject objType 
) 
Public Overridable Function GetSubObject( _ 
   ByVal objType As PlayObject _ 
) As Object 
public: 
virtual Object^ GetSubObject(  
   PlayObject objType 
)  

Parameters

objType
A PlayObject enumeration value that specifies which topology object to retrieve.

Return Value

An object representing the specified topology object.

Remarks

If the method fails, an error is raised. For more information, refer to the Error Codes.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public PlayCtrlForm _form = new PlayCtrlForm(); 
public PlayCtrl _playctrl = null; 
 
public void GetSubObjectExample() 
{ 
   // input and output file names 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi"); 
 
   try 
   { 
      // reference the convert control 
      _playctrl = _form.PlayCtrl; 
 
      // get index of LEAD MF Volume Transform 
      int nIndex = _playctrl.AudioProcessors.IndexOf("{E2B7DC41-38C5-11D5-91F6-00104BDB8FF9}"); 
 
      // add the LEAD MF Volume Transform to the selected audio processors 
      _playctrl.SelectedAudioProcessors.Add(_playctrl.AudioProcessors[nIndex]); 
 
      // access the processor directly 
      // LMFAVolume lmfVolumePro = _playctrl.GetSubObject(PlayObject.SelAudioProcessor) as LMFAVolume; 
      // if (lmfVolumePro != null) 
      // { 
      //    change some settings 
      //    lmfVolumePro.Mute = true; 
      //    Marshal.ReleaseComObject(lmfVolumePro); 
      // } 
 
      // set the source file 
      _playctrl.SourceFile = inFile; 
   } 
   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(); 
 
   _result = true; 
} 
 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS21\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As PlayCtrlForm = New PlayCtrlForm() 
Public _playctrl As PlayCtrl = Nothing 
 
Public Sub GetSubObjectExample() 
   ' input and output file names 
   Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi") 
 
   Try 
      ' reference the convert control 
      _playctrl = _form.PlayCtrl 
 
      ' get index of LEAD MF Volume Transform 
      Dim nIndex As Integer = _playctrl.AudioProcessors.IndexOf("{E2B7DC41-38C5-11D5-91F6-00104BDB8FF9}") 
 
      ' add the LEAD MF Volume Transform to the selected audio processors 
      _playctrl.SelectedAudioProcessors.Add(_playctrl.AudioProcessors(nIndex)) 
 
      ' access the processor directly 
      Dim lmfVolumePro As LMFAVolume = TryCast(_playctrl.GetSubObject(PlayObject.SelAudioProcessor), LMFAVolume) 
 
      If Not lmfVolumePro Is Nothing Then 
         ' change some settings 
         lmfVolumePro.Mute = True 
 
         Marshal.ReleaseComObject(lmfVolumePro) 
      End If 
 
      ' set the source and target files 
      _playctrl.SourceFile = inFile 
 
   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 
 
   _result = True 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\LEADTOOLS21\Media" 
End Class 
Requirements

Target Platforms

See Also

Reference

PlayCtrl Class

PlayCtrl Members

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.