Kemungkinan Duplikat:
Android: Bagaimana cara menghentikan pemutaran media (mp3) ketika milidetik tertentu tiba?
Saya mempunyai file mp3 dan saya ingin memutar kata tertentu di dalamnya. Saya memiliki waktu mulai (6889 mdtk) dan waktu berakhir (7254 mdtk) sehingga durasinya adalah 365 mdtk. Saya ingin memutar bagian 365 ms dari file mp3 saya.
Saat saya menjalankan kode ini, seharusnya kata "He" diputar, tetapi "He wan". Kata setelah "Dia" adalah "diinginkan". Saya hanya ingin memainkan kata "Dia". Apakah itu mungkin?
package com.example.playword;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
public class PlayWord extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Handler mHandler = new Handler();
final TextView labelTxt = (TextView) findViewById(R.id.labelTxt);
labelTxt.setText("Playing word...");
final MediaPlayer mPlayer = MediaPlayer.create(this, R.raw.nicholas);
try {
mPlayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mPlayer.seekTo(6889); //this is the start time of the word i want to play
mPlayer.start();
//how can I end it at 7254?
mHandler.post(new Runnable(){
public void run(){
//7254 is the end time of the word i want to play
//7410 is the start time of another word
if(mPlayer.getCurrentPosition() > 7254 && mPlayer.getCurrentPosition() < 7410 ){
labelTxt.setText("Stop: " + mPlayer.getCurrentPosition() );
mPlayer.stop();
}
mHandler.postDelayed(this, 1);
}
});
}
}