android MediaPalyer 获取播放进度问题

不能在子线程run方法 直接 调用 mediaPlayer.getCurrentPosition(); 方法,否则会一直返回0 正确调用如下:


    private long getCurrentPosition(){
        if(mediaPlayer!=null){
            return mediaPlayer.getCurrentPosition();
        }
        return 0;
    }
new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                                
                            while (isPlaying){
                                long currentPosition=getCurrentPosition();
      LogTools.i(TAG,"currentPosition=="+currentPosition+",endTimeMs=="+endTimeMs);
                                Thread.sleep(500);
                                continue;
                            }

                           
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }).start();

 

你可能感兴趣的:(android)