在UWP中播放视频中的音频

时间:2017-04-11 22:23:11

标签: c# uwp

我基本上问了here提出的问题,但是,问题是在8年前提出的,答案不再适用于UWP。

我有一个http://someurl.com/stream的音频流,以audio/ogg格式流式传输。我希望能够从UWP应用程序中播放它。

我看到NAudio库已经推荐了很多(毕竟,它在上面的示例中使用过),但是它非常大并且文档相当黯淡,而且很少有 - 日期示例(他们曾经有一个流媒体示例,但从我能够从Codeplex下载的内容,它被替换为常规的本地文件播放器示例)。我没有足够的经验来理解他们所拥有的小文档和示例代码。

老实说,我甚至不知道从哪里开始。我从未处理过这样的流(或任何流)。也许NAudio图书馆还没有出路?

代码将不胜感激,但即使指向我可以阅读有关播放此类流的来源也会非常有帮助,因为我的google-fu让我失望。

谢谢。

编辑:

private void PlayMedia() {
    System.Uri manifestUri = new Uri("http://amssamples.streaming.mediaservices.windows.net/49b57c87-f5f3-48b3-ba22-c55cfdffa9cb/Sintel.ism/manifest(format=m3u8-aapl)");
    var mediaPlayer = new Windows.Media.Playback.MediaPlayer();
                                                 ~~~~~~~~~~~~ -> "'Media Player' does not contain a constructor that takes 0 arguments."
    mediaPlayer.Source = MediaSource.CreateFromUri(manifestUri);
    mediaPlayer.Play();
}

1 个答案:

答案 0 :(得分:3)

  

但是我无法让MediaPlayer课程运作。它说例如x.Play()不存在。

您尚未发布代码段。所以我找不到Visual Studio警告的问题"不存在"准确。如果你想使用" MediaPlayer" class请首先添加Windows.Media.CoreWindows.Media.Playback命名空间。您可以参考以下实现基本媒体播放器的代码。

using Windows.Media.Core;
using Windows.Media.Playback;

......

private void PlayMedia()
 {
     System.Uri manifestUri = new Uri("http://amssamples.streaming.mediaservices.windows.net/49b57c87-f5f3-48b3-ba22-c55cfdffa9cb/Sintel.ism/manifest(format=m3u8-aapl)");
     var mediaPlayer = new MediaPlayer();       
     mediaPlayer.Source = MediaSource.CreateFromUri(manifestUri);
     mediaPlayer.Play();
 }

Media Player does not contain a constructor that takes 0 arguments的错误消息意味着MediaPlayer类中没有没有参数的构造函数。请尝试使用带有命名空间的构造函数的全名。

var mediaPlayer = new Windows.Media.Playback.MediaPlayer();