首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WP7上使用MediaStreamSource、MediaElement播放视频

在WP7上使用MediaStreamSource、MediaElement播放视频
EN

Stack Overflow用户
提问于 2011-10-10 22:34:28
回答 1查看 1.2K关注 0票数 2

我们一直在开发一个用于原始H.264和AAC内容的流媒体应用程序。我们正在使用MediaStreamSource向MediaElement馈送样本,当我们使用PC SilverLight (在IE9上)进行音视频播放时,没有观察到任何问题。纯音频流在WP7上也能正常工作。然而,在WP7上播放视频时,我们会遇到以下问题:

·不带CodecPrivateData初始化MediaStreamSource的视频流属性时,调用MediaElement Failed事件处理,错误码为3100。视频流属性初始化为:

代码语言:javascript
复制
    Dictionary<MediaStreamAttributeKeys, string> videoStreamAttributes = new Dictionary<MediaStreamAttributeKeys, string>();
    videoStreamAttributes[MediaStreamAttributeKeys.VideoFourCC] = "H264";
    this.videoStreamDescription = new MediaStreamDescription(MediaStreamType.Video, videoStreamAttributes);

·当MediaStreamSource的视频流属性初始化为CodecPrivateData (起始码起始码)时,视频的播放速度似乎要快得多--是指定FPS的2到3倍。视频流属性初始化为:

代码语言:javascript
复制
    Dictionary<MediaStreamAttributeKeys, string> videoStreamAttributes = new Dictionary<MediaStreamAttributeKeys, string>();
    videoStreamAttributes[MediaStreamAttributeKeys.VideoFourCC] = "H264";
    videoStreamAttributes[MediaStreamAttributeKeys.CodecPrivateData] = "000000012742000D96540A0FD8080F162EA00000000128CE060C88";
    this.videoStreamDescription = new MediaStreamDescription(MediaStreamType.Video, videoStreamAttributes);

请注意,相同的流可以在带有和不带有CodecPrivateData的PC SilverLight上正常播放,无论是音频还是视频。初始化视频流属性有问题吗?是什么导致了这个问题?我们如何解决它?

你好,NKS。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-29 17:10:37

这里的问题是用于时间戳的时钟。我们的应用程序过去按照90 Mhz计算时间戳,预期的时间戳是以1 Mhz为单位的。所以所有的帧都会在时间过去后出现,因此播放器会尽可能快地播放这些帧(我也看到了大约120fps)。修复了时间戳时钟之后,它工作得很好

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7714338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档