Streaming MediaStreamSource有足够的样本时,MediaElement正在缓冲(Windows 8.1应用商店应用程序)

Streaming MediaStreamSource有足够的样本时,MediaElement正在缓冲(Windows 8.1应用商店应用程序),streaming,windows-store-apps,mediaelement,windows-8.1,mediastreamsource,Streaming,Windows Store Apps,Mediaelement,Windows 8.1,Mediastreamsource,我有一个Windows 8.1应用程序(不是Silverlight或WPF),它可以播放自定义音频/视频流(ASF格式的aac/h264文件) 我解析流并向MediaElement的MediaStreamSource提供样本(在MSS SampleRequested事件中)。流正常播放几秒钟,然后暂停(MediaElement状态从播放变为缓冲),然后再次播放并再次停止等。我验证了MediaStreamSource有足够的样本提供给MediaElement(我从不需要使用延迟) 网络条件非常理想

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

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


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

如果您在这方面仍然有困难,那么您会想到两件事:

  • 确保音频和视频时间戳都从(或非常早)开始 接近)零
  • 确保它们都以合理的方式增加,并且不会漂移 相隔很远
另外,对于任何使用延迟的人(您确实说过这里不是这种情况),请确保将音频和视频延迟分开


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

如果你在这方面仍然有困难,我会想到两件事:

  • 确保音频和视频时间戳都从(或非常早)开始 接近)零
  • 确保它们都以合理的方式增加,并且不会漂移 相隔很远
另外,对于任何使用延迟的人(您确实说过这里不是这种情况),请确保将音频和视频延迟分开


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

谢谢,非常有用:)谢谢,非常有用:)