在我的中listView
,我正在显示来自 API 的一些媒体内容。该 API 不包含有关媒体持续时间的任何信息,所以我想我会创建一个辅助类来处理这个问题。
public static String getPodDuration(String url){
utils = new Utilities();
try{
mep = getInstance();
mep.reset();
mep.setDataSource(url);
mep.prepareAsync();
mep.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
duration = mep.getDuration();
Log.i("duration", String.valueOf(duration));
}
});
} catch(IllegalArgumentException e){
} catch(IllegalStateException e){
} catch(IOException e){
}
return String.valueOf(utils.milliSecondsToTimer(duration));
}
getInstance()
如下:
static MediaPlayer mep = null;
public static MediaPlayer getInstance(){
if(mep == null){
mep = new MediaPlayer();
}
return mep;
}
因此,在这些方法的帮助下,我在主类中传递了媒体文件的 URL。但由于某种原因,它只给了我 0:00 的价值。utils.milliSecondsToTimer(duration)
方法虽然工作正常。
我收到以下错误:
error (1, -107)
有人可以帮助实现这个吗?我不必播放这个媒体,我只需要得到它的持续时间。