在来自URL的音频文件`MediaPlayer.getDuration()`中,返回0

时间:2018-08-06 22:54:40

标签: android audio android-mediaplayer

我正在尝试从网络获取.ogg音频文件的持续时间。由于getDuration()的结果,我总是得到-1。这是我的代码:

String audioUrl = "URLHERE";
mMediaPlayer.setDataSource(audioUrl);
mMediaPlayer.prepareAsync(); //Also tried with prepare(), same result

在片段的OnViewCreated方法中,我使用setOnPreparedListener知道何时准备MediaPlayer,在这里我使用getDuration方法:

 mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                int duration = mp.getDuration(); //ALWAYS -1
            }
        });

所以在这里我总是得到-1。我不认为这是因为音频格式,因为音频已正确加载,并且可以使用.start()方法听到它。

0 个答案:

没有答案