【问题标题】:Play audio from a stream in UWP在 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();
}

【问题讨论】:

标签: c# uwp


【解决方案1】:

但我无法让 MediaPlayer 类工作。例如,它说 x.Play() 不存在。

您尚未发布您的代码段。所以我无法准确定位到 Visual Studio 提示“不存在”的问题。如果您想使用“MediaPlayer”类,请先添加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();       

【讨论】:

  • 对不起,我不记得确切的错误(因为我正在摆弄它,其中有几个,大部分是我自己做的)。无论如何,使用您编写的代码会给我一个错误。我已经用代码和错误消息更新了我的问题。
  • 所以,不幸的是,这并没有起到任何作用。我尝试制作一个空白项目,它在那里工作得很好。我尝试制作新的 Minimal Template10 项目(我最初使用的)但它没有再次工作。 T10可能有问题?无论如何,我在 VS2017 中尝试了 T10,它似乎可以正常工作,所以我想现在可以了。我确实想知道为什么会发生这种情况。
猜你喜欢
  • 2018-03-28
  • 1970-01-01
  • 2014-09-07
  • 2014-01-29
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多