1

我有一个 Windows 8.1 应用程序(不是 Silverlight 或 WPF),它播放自定义音频/视频流(ASF 格式的 aac/h264 文件)。

我解析流并将样本提供给 MediaStreamSource for MediaElement(在 MSS SampleRequested 事件中)。流播放正常几秒钟,然后暂停(MediaElement 状态从播放变为缓冲)然后再次播放并再次停止等。我验证 MediaStreamSource 有足够的样本提供给 MediaElement(我永远不必使用延迟)。

网络条件非常理想(我在运行应用程序的同一台 PC 上通过 ISS 流式传输媒体文件)。如果我只播放文件的音频或视频部分,它可以正常工作,没有停顿。增加 MSS 缓冲时间可以减少问题。我将不胜感激有关如何解决此问题的任何建议。

4

1 回答 1

1

如果您仍然遇到此问题,请想到两件事:

  • 确保您的音频和视频时间戳都从(或非常接近)零开始。
  • 确保它们都以合理的方式增加,并且不要分开太远。

同样对于使用延迟的任何人(您确实说过这里不是这种情况),请确保将音频和视频延迟分开。

我将一些从 Windows Phone 播放音频/视频流的代码移植到 Win8.1 中的新 MSS,发现它更容易处理。(至少,还没有什么东西咬我。敲木头......?)无论如何,这对我有用: WinRtMediaStreamSource.cs

于 2013-10-13T09:13:30.010 回答