我基本上问了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();
}
答案 0 :(得分:3)
但是我无法让MediaPlayer课程运作。它说例如x.Play()不存在。
您尚未发布代码段。所以我找不到Visual Studio警告的问题"不存在"准确。如果你想使用" MediaPlayer" class请首先添加Windows.Media.Core
和Windows.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();