MediaPlayer'prepare();'问题

时间:2011-09-16 13:08:11

标签: android media-player prepare

当我使用prepare()时;在我的媒体播放器上,一个黑色的布局弹出,直到准备好媒体播放器。我想改变黑屏的布局,这可能吗?

2 个答案:

答案 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    
        }
    });