Android 在流媒体播放之前,如何知道音频歌曲的持续时间?

Android 在流媒体播放之前,如何知道音频歌曲的持续时间?,android,streaming,media-player,Android,Streaming,Media Player,我正在申请流音频歌曲。在自定义媒体播放器中,我必须显示该音频文件的总持续时间。 如果一首音频歌曲是SD卡,我可以使用SD卡知道它的持续时间 MediaPlayer player; public double duration() { return player.getDuration(); } 但在我的例子中,音频文件在服务器上,所以我必须流式传输它 最好的方法是什么?我认为这将为您提供流式传输文件的长度。声明MediaPlayer mp对象之后 mp.start(

我正在申请流音频歌曲。在自定义媒体播放器中,我必须显示该音频文件的总持续时间。 如果一首音频歌曲是SD卡,我可以使用SD卡知道它的持续时间

MediaPlayer player;

public double duration() {
        return player.getDuration();
    }
但在我的例子中,音频文件在服务器上,所以我必须流式传输它


最好的方法是什么?

我认为这将为您提供流式传输文件的长度。声明MediaPlayer mp对象之后

 mp.start();
 totalDur=mp.getDuration();//will give you the duration in milliseconds.
如需进一步参考,请浏览以下链接:

这可能会对您有所帮助:。
一旦调用prepare()以流式传输文件,相应的数据可能可用。

使用下面的代码,您可以在不使用任何库的情况下获得持续时间

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();
            }
        });

@高拉夫·古普塔:请通过以下链接播放音频文件。因为他们提到了如何获取要流式传输的文件长度:选中[this][1]它可能会帮助您找到媒体文件的长度和持续时间[1]:它在android 2.3上不起作用。你知道原因是什么吗?@rachit:你能告诉我到底发生了什么吗?LogCat中是否存在任何错误或任何崩溃?