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();
}
添加回答
舉報