在某些计算机上使用Media Foundation创建mp4文件失败

时间:2013-03-14 08:53:32

标签: windows-store-apps mp4 ms-media-foundation

我有一个Windows应用商店应用,我在其中使用Media Foundation来创建mp4文件。我使用函数MFCreateSinkWriterFromURL来创建文件和函数IMFSinkWriter.WriteSample来将音频和视频数据写入文件。这一切都适用于我的DELL笔记本电脑,我的Surface平板电脑。所以这些mp4文件在所有机器上都能很好地运行。当应用程序在华硕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

问候

罗纳德

1 个答案:

答案 0 :(得分:0)

使用MediaInfoQuickTime检查文件的格式

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