我需要定义设备是否可以播放视频文件。到目前为止,我已经注册了一个错误处理程序,它接收到一些可能可以容忍的错误——我的意思是即使它们发生,玩家仍然感觉很好并继续工作。
但是,我需要以某种方式区分不重要的错误和与 MediaPlayer 无法播放某些视频格式有关的错误。或者还有另一种定义是否可以播放视频的方法?
也许有一种功能可以提取所有可支持的视频类型并将它们与正在播放的视频类型进行比较?
谢谢。
有一个隐藏的 api android.media.Mediafile.isMimeTypeMedia。您可以对其使用反射来获取是否支持您的 mime 类型。函数签名是
public static boolean isMimeTypeMedia(String mimeType)
在带有 android.media 包的 Mediafile 类中。
如果按类型表示扩展,那么这可能会有所帮助: Android 支持的媒体格式
编辑:您可以通过创建将包含支持的格式的任何集合来比较格式,然后检查文件的格式,并检查它是否包含在集合中。
以下是提取文件格式的方法示例:
private String getFileExtention(String fileName) {
String ext="";
int mid= fileName.lastIndexOf(".");
ext=fileName.substring(mid+1,fileName.length());
return ext;
}