我直接从内容提供商访问视频,而没有将其存储在数据库中。但这给了我3gp音频文件以及其他视频和3gp视频。我该如何过滤视频文件。我正在使用API​​ 8

最佳答案

请尝试此操作,因为您正在使用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;
    }


Source

关于android - 如何区分3gp音频和3gp视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16333004/

10-11 22:31