有很多方法可以检查视频文件元数据,使用FFmpegMediaMetadataRetriever(慢但可靠(和使用Native MediaMetadataRetriever(慢而不可靠(。
SO中回答了许多问题,用于使用FFMPEG或本机媒体api获取元数据的目的,例如Q1,Q2,Q3,但它们并没有解决我的问题。
我的问题:
从安卓目录的文件(视频(中获取以下元数据:
- 视频有没有声音/音频?
- 创建日期和时间
- 视频文件的缩略图
如果您有任何建议或代码示例,请告诉我,这将有很大帮助。
当我想检查视频是否有音频时,我创建了此方法。 方法返回 如果视频有音频,则为 True,否则为 False
只需传递视频文件的上下文和 Uri
private boolean setHasAudioOrNot(JoinVideoActivity activity, Uri uri) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(activity.getApplicationContext(),uri);
Log.e("Command","audiohas?? " +retriever.extractMetadata(16));
return retriever.extractMetadata(16) != null;
}