我直接从内容提供商处访问视频,而不将其存储在我的数据库中。但它给我3gp音频文件以及其他视频和3gp视频。我怎么能只过滤视频文件。我正在为API 8工作
答案 0 :(得分:1)
尝试此操作,因为您正在使用API 8,否则如果API级别> = 10,则METADATA_KEY_HAS_VIDEO可以完成此任务。
解决使用MediaPlayer的工作。如果媒体有高度,则表示它是视频。
public boolean isVideoFile(File file) {
int height = 0;
try {
MediaPlayer mp = new MediaPlayer();
FileInputStream fs;
FileDescriptor fd;
fs = new FileInputStream(file);
fd = fs.getFD();
mp.setDataSource(fd);
mp.prepare();
height = mp.getVideoHeight();
mp.release();
} catch (Exception e) {
Log.e(TAG, "Exception trying to determine if 3gp file is video.", e);
}
return height > 0;
}