/// <summary> /// Gets list of available audio output devices /// </summary> public IEnumerable <AudioOutputDeviceInfo> GetAudioOutputDevices(AudioOutputModuleInfo audioOutputModule) { int i = LibVlcMethods.libvlc_audio_output_device_count(m_hMediaLib, audioOutputModule.Name.ToUtf8()); for (int j = 0; j < i; j++) { AudioOutputDeviceInfo d = new AudioOutputDeviceInfo(); d.Longname = LibVlcMethods.libvlc_audio_output_device_longname(m_hMediaLib, audioOutputModule.Name.ToUtf8(), j); d.Id = LibVlcMethods.libvlc_audio_output_device_id(m_hMediaLib, audioOutputModule.Name.ToUtf8(), j); yield return(d); } }
/// <summary> /// Gets list of available audio output devices /// </summary> public IEnumerable <AudioOutputDeviceInfo> GetAudioOutputDevices(AudioOutputModuleInfo audioOutputModule) { int i = NativeMethods.libvlc_audio_output_device_count(m_hMediaLib, audioOutputModule.Name.ToUtf8()); for (int j = 0; j < i; j++) { AudioOutputDeviceInfo d = new AudioOutputDeviceInfo(); IntPtr pName = NativeMethods.libvlc_audio_output_device_longname(m_hMediaLib, audioOutputModule.Name.ToUtf8(), j); d.Longname = Marshal.PtrToStringAnsi(pName); IntPtr pId = NativeMethods.libvlc_audio_output_device_id(m_hMediaLib, audioOutputModule.Name.ToUtf8(), j); d.Id = Marshal.PtrToStringAnsi(pId); yield return(d); } }
public void SetAudioOutputModuleAndDevice(AudioOutputModuleInfo module, AudioOutputDeviceInfo device) { if (module == null) { throw new ArgumentNullException("module"); } if (device != null) { LibVlcMethods.libvlc_audio_output_device_set(m_hMediaPlayer, module.Name.ToUtf8(), device.Id.ToUtf8()); } int res = LibVlcMethods.libvlc_audio_output_set(m_hMediaPlayer, module.Name.ToUtf8()); if (res < 0) { throw new LibVlcException(); } }