android.media.mediaplayerの2つのクラスラッパーを作成しました。Android MediaPlayer.stop()は停止する代わりに一時停止します
私は工場のMediaPlayer.Create()からオブジェクトを使用する場合。メソッド停止が呼び出されると、メディアプレイヤーオブジェクトは曲を停止します(これは、play()を呼び出すときに曲を停止するので、曲の先頭から開始します)。しかし、私がデフォルトのコンストラクタを使用すると、stop()は、実際には停止状態にあることを除いて、以前の位置を保つpause()とまったく同じように動作します。
prepare()とstop()の後にseekTo(0)を使用して、私がしたいことをする必要がありましたが、これはドキュメントの内容とは異なります。
ます。public voidスタートを()以降:APIレベル1
開始または再生を再開します。再生が以前に一時停止されていた場合は、一時停止した場所から再生が続行されます( )。再生が 停止した場合、または以前に開始されなかった場合、再生は の先頭から開始されます。
したがって、停止時にstart()を呼び出すと、最初から開始する必要があります。
これは私のクラスからstopSongメソッドのコードです:この出来事はなぜ
public void stopSong() {
if(mpPrepared){
mp.stop();
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.seekTo(0);
}
}
誰かが私に教えてもらえますか?ありがとう!
私はそれをテストしたが、それでもただ一時停止します。条件を変更するとstop()の動作がどのように変わるのか分かりません。とにかくありがとう。 –
私は全体のコードを見ることができますか? – Intathep