【问题标题】:Android MediaPlayer.getCurrentPosition() return 0Android MediaPlayer.getCurrentPosition() 返回 0
【发布时间】:2021-07-18 07:59:51
【问题描述】:
       Runnable updateSeekbar=new Runnable() {
        @Override
        public void run() {
            try{
                while (true) {
                    if (!isPlayerDead) {
                        Log.d("Threads", "Thread is running successfully.");
                        int progress=mediaPlayer.getCurrentPosition();
                        seekBar.setProgress(progress);
                        Log.d("Seekbar",seekBar.getProgress()+"");
                        Log.d("MediaProgress",mediaPlayer.getCurrentPosition()+"");
                        String s=modifyTime(mediaPlayer.getCurrentPosition() / 1000 / 60) + ":" + modifyTime((mediaPlayer.getCurrentPosition() / 1000) % 60);
                        progressTime.setText(s);

                    }
                }
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }
    };
    Executor executor=new Executor() {
        @Override
        public void execute(Runnable command) {
            Thread thread=new Thread(command);
            thread.start();
        }
    };
executor.execute(updateSeekbar);

我正在制作一个媒体播放器来播放音频,但是当我尝试使用 mediaplayer.getCurrentPosition 更新搜索栏时,它总是返回 0。

如何获取媒体播放器的当前位置?强文本

【问题讨论】:

    标签: android android-studio android-layout android-mediaplayer


    【解决方案1】:

    在你的 while 循环中添加这个:

    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            duration = mp.getCurrentPosition();
             seekBar.setProgress(progress);
             Log.d("Seekbar",seekBar.getProgress()+"");
        }
    });
    

    【讨论】:

    • 这对我不起作用。实际上问题略有不同。线程在媒体播放器可以发送更新的位置之前死亡。我已经在一个线程。无休止的while循环,但它仍然死了。我怎样才能让它无限运行直到活动被破坏。
    • 实际上线程没有因为不正确的 try catch{} 而死,但我没有将 try catch{} 块放在 while 循环中,它工作正常。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    相关资源
    最近更新 更多