MediaPlayer“准备();”问题

发布于 2024-12-04 23:29:23 字数 65 浏览 1 评论 0原文

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

When I use prepare(); on my mediaplayer, a black layout pops up till the mediaplayer is prepared.. I want to change that black screens layout, is that possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

厌倦 2024-12-11 23:29:23

prepare(); 是一个阻塞操作,如果您不想阻塞 UI 线程,请使用 prepareAsync();
或者在另一个线程中使用prepare

prepare(); is a blocking operation, if you dont want to block your UI Thread use prepareAsync();.
Or use prepare in another Thread

清旖 2024-12-11 23:29:23

在后台线程中执行所有这些操作,直到媒体播放器实例准备好要播放的资源并显示进度条,直到那时

 //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    
        }
    });

Do all these thing in background thread until media player instance prepared the resource to play and show progress bar upto that time

 //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

Update

To know when media player will prepare

    md.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
        //Now your media player is ready to play    
        }
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文