java.io.IOException:setdatasource失败状态=0xFFF
我试图通过使用MediaMetadataRetriever.Bur获取.amr文件的持续时间,每次使用时,它都会给我错误信息。以下是计算持续时间的代码。但它在SETDATASOURCE处出错。newfile是我在运行时创建的文件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 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”?