私はAPI からいくつかのメディア コンテンツをlistView
表示しています。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)
誰かがこれを実装するのを助けることができますか? このメディアを再生する必要はありません。単に再生時間を取得する必要があります。