1

我直接从内容提供商访问视频,而不将其存储在我的数据库中。但它给了我 3gp 音频文件以及其他视频和 3gp 视频。我怎么能只过滤视频文件。我正在为 API 8 工作

4

1 回答 1

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;
    }

资源

于 2013-05-02T08:00:52.577 回答