C++ 确定文件是否可在媒体上播放

C++ 确定文件是否可在媒体上播放,c++,mfc,createprocess,ffprobe,C++,Mfc,Createprocess,Ffprobe,我正在寻找一个工具,我可以使用MFC CreateProcess命令来确定一个文件是否是媒体可播放文件。我不允许将文件扩展名与“允许的”设置(如mp3、mp4、avi等)进行比较-必须使用ffprobe、DirectShow等工具进行确定性比较 我曾经尝试过ffprobe,当应用于媒体文件时,它会提供某些信息,如开始时间、持续时间、编解码器名称、格式名称等。当我需要排除文本文件、Word文档等非可播放文件时,所有这些通常都非常有用 不幸的是,ffprobe有时会返回信息,表明我传递给它的文件是可

我正在寻找一个工具,我可以使用MFC CreateProcess命令来确定一个文件是否是媒体可播放文件。我不允许将文件扩展名与“允许的”设置(如mp3、mp4、avi等)进行比较-必须使用ffprobe、DirectShow等工具进行确定性比较

我曾经尝试过ffprobe,当应用于媒体文件时,它会提供某些信息,如开始时间、持续时间、编解码器名称、格式名称等。当我需要排除文本文件、Word文档等非可播放文件时,所有这些通常都非常有用

不幸的是,ffprobe有时会返回信息,表明我传递给它的文件是可媒体播放的,而它不是。例如,Windows.dmp文件返回MP3编解码器名称


是否有人知道我可以使用其他策略来确定文件的媒体可播放性?

您试图解决的更高级别的问题是什么?可玩性的定义是什么?如果安装了编解码器,是否可以播放?仅可使用已安装的编解码器播放?如果满足DRM限制,是否可以播放?还是无视DRM约束?抱歉,这方面有点模糊。仅使用已安装的编解码器进行播放可能是最合适的。