Android:如何在特定的毫秒数到来时停止播放媒体(mp3)?
|
我有一个mp3文件,我想在其中播放特定的单词。我有一个开始时间(
6889 ms
)和结束时间(7254 ms
)。
我有以下代码:
package com.example.playword;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
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 TextView tv = new TextView(this);
tv.setText(\"Playing...\");
setContentView(tv);
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
mPlayer.start();
//how can I end it at 7254 ms?
}
}
没有找到相关结果
已邀请:
2 个回复
扦帽次杏
安排执行将停止播放器的
。您还应该仅在初始搜寻完成后才启动播放器。像这样:
还要注意,正在使用的
方法将返回已经准备好的MediaPlayer,并且不应像在屏幕上的代码中那样再次调用
。活动结束时,我还向
添加了呼叫。 另外,如果要在搜索完成后更新UI,请注意,通常从非UI线程调用此方法。您将必须使用处理程序来发布任何与UI相关的操作。
墩瓣茅械