How to get duration of Audio Stream and continue audio streaming from any point

前端 未结 2 1074
你的背包
你的背包 2021-01-31 22:55

Description:

I have following code for an Audio player. I can continue Audio playback from any duration by clicking on Progress Bar(between 0-to-mediapl

2条回答
  •  走了就别回头了
    2021-01-31 23:27

    Hope that it might solve your problem.

    1) Duration and Progress of Audio Stream

    I have looked into your code, you have a major error in your code to calculate time. You create new Date(durationInMillis). Date adds your locallity i.e GMT+XX hours, that is why you are getting 5- hours in the beginnging of streaming. You should use following method to calculate currentProgress/duration.

    protected void setProgressText() {
    
        final int HOUR = 60*60*1000;
        final int MINUTE = 60*1000;
        final int SECOND = 1000;
    
        int durationInMillis = mediaPlayer.getDuration();
        int curVolume = mediaPlayer.getCurrentPosition();
    
        int durationHour = durationInMillis/HOUR;
        int durationMint = (durationInMillis%HOUR)/MINUTE;
        int durationSec = (durationInMillis%MINUTE)/SECOND;
    
        int currentHour = curVolume/HOUR;
        int currentMint = (curVolume%HOUR)/MINUTE;
        int currentSec = (curVolume%MINUTE)/SECOND;
    
        if(durationHour>0){
            System.out.println(" 1 = "+String.format("%02d:%02d:%02d/%02d:%02d:%02d", 
                    currentHour,currentMint,currentSec, durationHour,durationMint,durationSec));            
        }else{
            System.out.println(" 1 = "+String.format("%02d:%02d/%02d:%02d", 
                    currentMint,currentSec, durationMint,durationSec));
        }
    }
    

    2) Scrubbing for Stream.

    MediaPlayer allows scrubbing of audio stream. I have implemented it in one of my projects, but it takes some time. It takes some time to resume audio streaming from another location.

提交回复
热议问题