- 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();
- 時間経過ごとに進行状況を取得する方法: 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での進行状況の取得方法とコード例の解説でした。ご参考までにお役立てください。