Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaMetadataRetriever扼杀行为_Android_Mediametadataretriever - Fatal编程技术网

Android MediaMetadataRetriever扼杀行为

Android MediaMetadataRetriever扼杀行为,android,mediametadataretriever,Android,Mediametadataretriever,因此,我使用以下简单的代码行: public static boolean checkIfAudioFileIsValid(String filePath) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); long duration; try { retriever.setDataSource(filePath); duration = Long.pars

因此,我使用以下简单的代码行:

public static boolean checkIfAudioFileIsValid(String filePath) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    long duration;
    try {
        retriever.setDataSource(filePath);
        duration = Long.parseLong(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
    } catch (Exception e ) {
        return false;
    }
    return duration > 1000;
}
所以我正在检查文件是否有效,它的持续时间是否超过1秒。在大多数情况下,它工作正常,但如果文件为空或持续时间低于400ms,我会得到相同的contant值1520


是否有人终止了此问题并找到了解决方法?

@pskink,没有,我正在应用程序中以编程方式进行音频录制,只需创建扩展名为.ogg的空文件,并使用其路径即可method@pskink,它实际上可能不起作用,我认为最好附加文件,等一下,它可能正在转码到ogg issueI录制相同的
wav
amr
格式音频,此功能工作正常,它总是返回文件的收集持续时间。@YuJiaaoa和pksink,谢谢你们,但它仍然发生在我身上,我不确定大约400,可能很短,大约100,仍然,从你的反馈中,我开始认为问题出在我的代码转换(从PCM到OGG)中。你做了我尝试过的事情吗?@pskink,没有,我正在程序化地在应用程序中录制音频,只需创建扩展名为.OGG的空文件,并使用它的路径即可method@pskink,它实际上可能不起作用,我认为最好附加文件,等一下,它可能正在转码到ogg issueI录制相同的
wav
amr
格式音频,此功能工作正常,它总是返回文件的收集持续时间。@YuJiaaoa和pksink,谢谢你们,但它仍然发生在我身上,我不确定大约400,可能很短,大约100,仍然,从你的反馈中,我开始认为问题出在我的代码转换(从PCM到OGG)中。你做了我尝试过的吗?