Android MediaPlayerでの進行状況の取得方法


  1. OnCompletionListenerを使用する方法: OnCompletionListenerは、メディア再生が完了したときに呼び出されるリスナーです。このリスナーを設定し、メディア再生の完了時に進行状況を取得することができます。
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("your_media_file_path");
mediaPlayer.prepare();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        // メディア再生が完了したときに進行状況を取得する
        int progress = mediaPlayer.getCurrentPosition();
        // 進行状況を利用する処理を記述する
    }
});
mediaPlayer.start();
  1. 時間経過ごとに進行状況を取得する方法: MediaPlayer.getCurrentPosition()メソッドを使用して、現在の再生位置(ミリ秒単位)を取得することができます。定期的にこのメソッドを呼び出し、進行状況を取得することで、再生中のメディアの進行状況を監視することができます。
final int INTERVAL = 1000; // 1000ミリ秒ごとに進行状況を取得する
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("your_media_file_path");
mediaPlayer.prepare();
mediaPlayer.start();
Handler handler = new Handler();
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        if (mediaPlayer.isPlaying()) {
            int progress = mediaPlayer.getCurrentPosition();
            // 進行状況を利用する処理を記述する
        }
        handler.postDelayed(this, INTERVAL);
    }
};
handler.postDelayed(runnable, INTERVAL);

これらは、AndroidのMediaPlayerクラスを使用してメディアの進行状況を取得する方法の一部です。必要に応じて、これらの方法をカスタマイズして使用することができます。また、コード例では単純化のために一部の詳細を省略していますので、実際のアプリケーションでは必要なエラーハンドリングや状態管理なども考慮して実装してください。

以上が、Android MediaPlayerでの進行状況の取得方法とコード例の解説でした。ご参考までにお役立てください。