2010年11月8日月曜日

サウンドの早送り巻き戻し

サウンドファイルの再生中に早送りや巻き戻しを行うことができます。
MediaPlayerクラスの以下のメソッドを使用します。

getDuration:全体の再生時間をmsec単位で取得
getCurrentPosition:現在の再生位置をmsec単位で取得
toSeek:再生位置をmsec単位で指定


                MediaPlayer mp = MediaPlayer.create(this, R.raw.soundFile);
                mp.start(); // 再生
                ・
                ・
                ・



                int totalTime = mp.getDuration();   // サウンドの再生時間をmsec単位で取得
                int seekTime = mp.getCurrentPosition(); // サウンドの現在の再生位置をmsec単位で取得
                seekTime -= 2000; // 2秒巻き戻し
                if ( seekTime < 0) seekTime = 0; // 0より小さい場合は開始位置に移動
                if ( totalTime < seekTime ) seekTime = totalTime; // サウンド全体の長さより長い場合はサウンドの最後に移動
                mp.seekTo(seekTime); //再生位置に移動

0 件のコメント:

コメントを投稿