我们如何在Android中查找视频是否包含音频

时间:2017-09-29 06:15:03

标签: android video

我们如何在Android中找到视频是否包含音频

Android中是否有任何方法可以查找视频是否包含音频

3 个答案:

答案 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));