3

私は次のコードを使用してメディアプレーヤーの助けを借りて曲を再生しています、

mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource( "sound_file_filepath" );
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() 
{
    @Override
    public void onPrepared(MediaPlayer mp) 
    {
        mediaPlayer.start();
    }
}); 

これで、.xmlファイルにトグルタイプの画像があり、最初に再生画像が表示されます。再生画像をクリック/タッチすると、曲が始まり、画像が停止画像に置き換えられます。

今私の質問は、私のサウンドの再生が終了したことをどうやって知ることができるかということです。私はisPlaying()メソッドをよく知っています。曲が実行されている場合はtrueを返し、実行されていない場合はfalseを返します。しかし、いつ、どこでこの状態をチェックして、再生画像を再度表示する必要がありますか?

4

5 に答える 5

19

私はこのような何かが役立つと信じています、

mediaPlayer.setOnCompletionListener(this);
// When song is ended then media player automatically called onCompletion method.
    public void onCompletion(MediaPlayer arg0) 
{
    // Write your code
}
于 2013-03-26T11:21:25.867 に答える
0

OnPrepared Listenerのように、以下のようなOnCompletionListenerがあります。

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub

        }
    });
于 2013-03-26T11:22:21.613 に答える
0

これをチェックしてください:

mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
        Log.i("Completion Listener","Song Complete");
    }
});
于 2013-03-26T11:25:32.310 に答える
0

次のコード構文を使用します-

Audio_object=document.getElementById('audio_tag_id');
if(Audio_object.currentTime==Audio_object.duration)
//the audio object has completely played.

audio_tag_id<audio>-elementのIDです。

于 2013-09-26T13:59:33.767 に答える
0
MediaPlayer mp = new MediaPlayer();

mp.setOnCompletionListener(new OnCompletionListener() {     
    @Override
    public void onCompletion(MediaPlayer mp) {
        //Do the work after completion of audio
    }
});
于 2014-01-31T12:41:06.283 に答える