在 UWP 中播放流中的音频
Posted
技术标签:
【中文标题】在 UWP 中播放流中的音频【英文标题】:Play audio from a stream in UWP 【发布时间】:2017-09-07 12:06:20 【问题描述】:我问的问题基本上与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();
【问题讨论】:
你试过[这个](docs.microsoft.com/en-us/windows/uwp/audio-video-camera/…)? 是的,但我无法让 MediaPlayer 类工作。例如,它说 x.Play() 不存在。我认为这是因为我没有正确扩展课程,但它没有为我识别其他课程。我不确定它有什么问题。 【参考方案1】:但我无法让 MediaPlayer 类工作。例如,它说 x.Play() 不存在。
您尚未发布您的代码段。所以我无法准确定位到 Visual Studio 提示“不存在”的问题。如果您想使用“MediaPlayer”类,请先添加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();
【讨论】:
对不起,我不记得确切的错误(因为我正在摆弄它,其中有几个,大部分是我自己做的)。无论如何,使用您编写的代码会给我一个错误。我已经用代码和错误消息更新了我的问题。 所以,不幸的是,这并没有起到任何作用。我尝试制作一个空白项目,它在那里工作得很好。我尝试制作新的 Minimal Template10 项目(我最初使用的)但它没有再次工作。 T10可能有问题?无论如何,我在 VS2017 中尝试了 T10,它似乎可以正常工作,所以我想现在可以了。我确实想知道为什么会发生这种情况。以上是关于在 UWP 中播放流中的音频的主要内容,如果未能解决你的问题,请参考以下文章
Windows UWP 应用程序中的 MediaElement 不播放音频