【问题标题】:How to change audio output device using VLC.Net如何使用 VLC.Net 更改音频输出设备
【发布时间】:2017-07-05 13:41:33
【问题描述】:

我可以使用 VLC.Net 库创建类似应用程序的媒体播放器。我现在正在尝试添加一项功能,以便能够选择输出设备来播放媒体。到目前为止还没有运气。 有人做过吗?

【问题讨论】:

  • 您已经掌握了哪些信息? AudioOutputDevice.SetAsCurrent() 怎么样?您是否已经拥有 AudioOutputDevice? (你说的是来自 zebobo5 的 vlc.dotnet?)
  • 我有 zebobo5 的 VLC.Net 库。但我不知道如何使用它来让用户选择所需的输出设备。任何可以帮助将我引导到该区域的代码都会有帮助。

标签: c# .net output device vlc


【解决方案1】:

通过阅读源代码,我会尝试以下操作。我假设您手头有一个 VlcMediaPlayer 并在某处创建:

void DoAudio(VlcMediaPlayer player)
{
    IAudioManagement audioMgt = player.Audio;

    foreach(AudioOutputDescriptions descriptions in audioMgt.Outputs.All){

        foreach(AudioOutputDevice device in description.Devices){
            //enumerate them for display
            string audioName = device.LongName;

            // Or set it as output
            device.SetAsCurrent();
        }
}

【讨论】:

  • 我在这一行收到此错误“{“方法的类型签名与 PInvoke 不兼容。”}”............ foreach(audioMgt.Outputs 中的AudioOutputDescriptions 描述.All){
  • 不幸的是,这听起来像是 vlc.net 中的编组问题。它包装了 vlc 项目的非托管 vlc Lib 并调用了它们的功能。您需要在github.com/ZeBobo5/Vlc.DotNet/issues 发布错误,并附上给出错误的示例代码。如果您在 vlc.dotnet 中有一个堆栈跟踪,我也会添加它。
  • 感谢您帮助 Uwe。我最终使用了 libZplay 库,现在我可以完全控制选择音频输出设备。
猜你喜欢
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 2011-04-04
相关资源
最近更新 更多