当我使用prepare()时;在我的媒体播放器上,一个黑色的布局弹出,直到准备好媒体播放器。我想改变黑屏的布局,这可能吗?
答案 0 :(得分:5)
prepare();
是一个阻止操作,如果你不想阻止你的UI线程使用prepareAsync();
。
或者在另一个线程中使用prepare
答案 1 :(得分:4)
在后台线程中执行所有这些操作,直到媒体播放器实例准备好要播放的资源并显示当时的进度条
//progressDialog
Thread th=new Thread(new Runnable() {
@Override
public void run() {
MediaPlayer md=new MediaPlayer();
try {
md.setDataSource("Path");
md.prepareAsync();
md.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//send message to handler
}
});
th.start();
//and then dissmiss dialog in handler class
<强>更新强>
了解媒体播放器何时准备
md.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
//Now your media player is ready to play
}
});