我们如何在Android中找到视频是否包含音频
Android中是否有任何方法可以查找视频是否包含音频
答案 0 :(得分:4)
是。有可能的。您需要查看MediaMetadataRetriever
使用FileInputStream
,您可以检查视频是否包含音频。
METADATA_KEY_HAS_AUDIO
此处路径是您的视频文件路径。
答案 1 :(得分:1)
只需添加到@KingofMasses答案,如果文件没有音频文件,则String hasAudioStr
将返回null。然后该字符串将通过nullpointerexception
。
以下是我如何解决这个问题:
private boolean doesVideoHaveAudioTrack(String path) {
boolean audioTrack;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(path);
String hasAudioStr = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO);
if (hasAudioStr==null){
audioTrack = false;
}else {
audioTrack = true;
}
return audioTrack;
}
归功于@KingofMasses,我只是想指出这个问题。
答案 2 :(得分:0)
更简单,空指针异常安全
boolean hasAudio = "yes".equals(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO));