-1
我只是試圖通過媒體播放器播放音樂n秒。等待處理程序完成Android
我的第一個文件:
public void Play_Music() {
mTestUtils.ConnectDevice();
mTestUtils.playMusic(MUSIC_PATH, STREAM_TIME);
mTestUtils.DisconnectDevice(();
}
我的第二個文件:
public void playMusic(String music_path, int stream_time) {
MediaPlayer mMediaPlayer = new MediaPlayer();
try {
Log.i(TAG, "In Play mUsic");
mMediaPlayer.setDataSource(music_path);
mMediaPlayer.prepare();
mMediaPlayer.start();
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
Log.i(TAG, "In Handler");
mMediaPlayer.stop();
mMediaPlayer.release();
}
}, stream_time);
Log.i(TAG, "Done Playing");
} catch (IOException e) {
e.printStackTrace();
}
return;
}
這裏我的問題是如何使處理器等待一定時間。 這裏發生的是播放音樂被調用,它執行該函數並立即返回以執行第一個文件中的下一個語句。我想等待處理函數完成,然後我需要將控件傳遞給第一個文件。
在此先感謝。
然後用單獨的方法編寫代碼,並在釋放媒體播放器後從處理程序中調用它 –