-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;
}
这里我的问题是如何使处理器等待一定时间。 这里发生的是播放音乐被调用,它执行该函数并立即返回以执行第一个文件中的下一个语句。我想等待处理函数完成,然后我需要将控件传递给第一个文件。
在此先感谢。
然后用单独的方法编写代码,并在释放媒体播放器后从处理程序中调用它 –