0

我有一个 Windows 应用商店应用程序,我在其中使用 Media Foundation 创建 mp4 文件。我使用函数 MFCreateSinkWriterFromURL 创建文件,使用函数 IMFSinkWriter.WriteSample 将音频和视频数据写入文件。这一切在我的戴尔笔记本电脑、我的 Surface 平板电脑上运行良好。所以这些 mp4 文件在所有机器上都能很好地播放。当应用程序在 ASUS ME400C 平板电脑上运行时,它会创建一个 mp4 文件,但该文件无法在该机器或任何其他机器上播放。所以应用在所有机器上都是一样的(从商店下载的),但编码不同。

如果我在 TopoEdit 工具中打开文件,我会收到以下错误:无法创建源节点。不支持给定 URL 的字节流类型。

如何找出华硕机器创建的mp4文件有什么问题?是否有工具可以帮助我分析该文件?

以防万一有人感兴趣。我这里有一个用华硕机器创建的 mp4

https://skydrive.live.com/redir?resid=9A6F31F60861DD2C!449&authkey=!AJVXFclI4BoJs0o

还有一个用我的戴尔笔记本电脑创建的 mp4

https://skydrive.live.com/redir?resid=9A6F31F60861DD2C!450&authkey=!AKtrfkDprZyJJI0

问候

罗纳德

4

1 回答 1

0

使用MediaInfoQuickTime检查文件的格式

Asus.mp4 文件已损坏。此文件未在 VLC、媒体播放器和 Quick Time 中打开。如果您右键单击该文件并检查“属性”->“详细信息” ,您会发现“视频和音频”部分为空。在创建文件时,您的代码失败或文件属性未正确设置。它能够创建文件,但缺少某些属性。使用 MFTrace找到它。

于 2013-03-15T12:29:57.913 回答