我正试图通过使用MediaMetadataRetriever.Bur来获取.amr文件的持续时间。每次使用时,它都会给我错误。以下是计算持续时间的代码。但它在SETDATASOURCE中给出了Error。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()"尝试使用java.io.File.getAbsolutePath()。我不确定"newFile"是什么,所以我抓住了这个。toString()将在对象上使用方法,该方法可能不一定提供简洁的路径。