Hello.
I can enumerate audio inputs, but not outputs.
I try such
- Code: Select all
IBMDSwitcherAudioMonitorOutputIterator audioOutIterator = null;
IntPtr audioOutIteratorPtr;
Guid audioOutIteratorIID = typeof(IBMDSwitcherAudioMonitorOutputIterator).GUID;
m_audiomixer.CreateIterator(ref audioIteratorIID, out audioOutIteratorPtr);
if (audioOutIteratorPtr != null)
{
audioOutIterator = (IBMDSwitcherAudioMonitorOutputIterator)Marshal.GetObjectForIUnknown(audioOutIteratorPtr);
}
if (audioOutIterator != null)
{
IBMDSwitcherAudioMonitorOutput output;
audioOutIterator.Next(out output);
while (output != null)
{
//...
audioOutIterator.Next(out output);
}
}
but when
- Code: Select all
audioOutIterator = (IBMDSwitcherAudioMonitorOutputIterator)Marshal.GetObjectForIUnknown(audioOutIteratorPtr);
I get
System.InvalidCastException:
It is impossible to bring a COM object of type "System .__ ComObject" to the interface type "BMDSwitcherAPI.IBMDSwitcherAudioMonitorOutputIterator". The operation failed because the QueryInterface COM component call for interface with IID "{C76BAC6A-DFEE-4F2F-B161-226B481D556A}" returned the following error: The interface is not supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
Why "The interface is not supported"?
How can I enumerate audio outputs else?