3 回答
TA贡献1784条经验 获得超2个赞
每当您需要在单个线程中等待特定时间段时,您可以使用:
try {
Thread.sleep(millis);
} catch (InterruptedException e) { }
TA贡献1851条经验 获得超5个赞
您可以使用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//your code
}
}, 10000);
TA贡献1811条经验 获得超4个赞
通过使用Thread.sleep()或SystemClock.sleep()这导致应用程序主线程的阻塞/冻结,
我建议Handler.postDelayed()使用
首先在res/raw 目录下添加你的媒体文件,如果不存在你必须创建它。
右键单击res目录 >>新建>> Android 资源目录
在资源类型上选择原始,然后将您的媒体文件复制到其中,例如“song.mp3”
编码
public class MainActivity extends AppCompatActivity {
//Creating MediaPlayer object
private MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
player = MediaPlayer.create
(MainActivity.this, R.raw.song); // >> here's choose your song file
player.start();
}
}, 10000); // >> Put time with milliseconds, this will delay the start play for 10 seconds
}
您可能想通过这样的覆盖onStop方法停止歌曲
@Override
protected void onStop() {
super.onStop();
if (player.isPlaying())
player.stop();
}
添加回答
举报