How to know the Duration of audio song before streaming?
I am making an application for Stream audio song. In Custom media player, i have to show the total duration of that audio file. If a audio song will be SDCard , i can know its duration using
MediaPlayer player;
public double duration() {
return player.getDuration();
}
But in my case audio file is on the server, so i have to stream it.
W开发者_如何学JAVAhat is the best approach?
This might help you: Example of Streaming mp3 with android media player class . The respective data is probably available, once prepare() is called for the file to be streamed.
I think this will give you the length of the file to be streamed. After the declaring the MediaPlayer mp object
mp.start();
totalDur=mp.getDuration();//will give you the duration in milliseconds.
For further reference please go through the following link: http://developer.android.com/reference/android/media/MediaPlayer.html#getDuration%28%29
with below code you can get duration without using any library
player = new MediaPlayer();
player.setDataSource(YOUR_URL);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.prepareAsync();
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
seekBar.setMax(mediaPlayer.getDuration());
player.start();
}
});
精彩评论