[英]How to know the Duration of audio song before streaming?
我正在申请 Stream 音频歌曲。 在自定义媒体播放器中,我必须显示该音频文件的总持续时间。 如果一首音频歌曲是 SDCard,我可以使用它知道它的持续时间
MediaPlayer player;
public double duration() {
return player.getDuration();
}
但在我的情况下,音频文件在服务器上,所以我必须 stream 它。
最好的方法是什么?
这可能会对您有所帮助: 使用 android 媒体播放器 class 的流式 mp3 示例。 一旦为要流式传输的文件调用 prepare() ,相应的数据可能是可用的。
我认为这将为您提供要流式传输的文件的长度。 在声明 MediaPlayer mp object
mp.start();
totalDur=mp.getDuration();//will give you the duration in milliseconds.
如需进一步参考,请通过以下链接 go: http://developer.android.com/reference/android/media/MediaPlayer.html#getDuration%28%
使用以下代码,您无需使用任何库即可获得持续时间
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();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.