Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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
java.io.IOException:setdatasource失败状态=0xFFF_Java_Ioexception_Mediametadataretriever - Fatal编程技术网

java.io.IOException:setdatasource失败状态=0xFFF

java.io.IOException:setdatasource失败状态=0xFFF,java,ioexception,mediametadataretriever,Java,Ioexception,Mediametadataretriever,我试图通过使用MediaMetadataRetriever.Bur获取.amr文件的持续时间,每次使用时,它都会给我错误信息。以下是计算持续时间的代码。但它在SETDATASOURCE处出错。newfile是我在运行时创建的文件 MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(newfile.toString()); int duration

我试图通过使用MediaMetadataRetriever.Bur获取.amr文件的持续时间,每次使用时,它都会给我错误信息。以下是计算持续时间的代码。但它在SETDATASOURCE处出错。newfile是我在运行时创建的文件

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
            mmr.setDataSource(newfile.toString());
            int duration =  
Integer.parseInt(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));


            int durSec = duration;
            durSec = durSec/1000;
            int durHour = durSec/3600;
            durSec = durSec%3600;
            int durMin = durSec/60;
            durSec = durSec%60;
            String Time = durHour+":"+durMin+":"+durSec;
            tv_duration.setText(""+Time);
            mmr.release();

我认为您不需要“newFile.toString()”请尝试使用。我不确定“新文件”是什么,所以我要抓住这个。toString()将在对象上使用该方法,该方法可能不一定提供简洁的路径。

这是什么“Java.io.File.getAbsolutePath()”。我不明白。两个澄清:假设你在安卓上做这个,新文件对象是文件对象吗?是的,我在安卓上工作。newFile是文件对象。然后用newFile.getAbsolutePath()替换newFile.toString()。好的,希望不要说明明显的问题,您确定存在,长度超过零,并且在另一个线程中未打开?什么类型的对象是“newFile”?