MediaPlayer 不播放某些音频文件的实时流

MediaPlayer not playing live stream for some audio file

某些音频文件 url 无法在媒体播放器中播放 这是我的代码

  mediaPlayer = new MediaPlayer();

    if (mediaPlayer != null) {
        try {

            String audioUrl = Constants.AudioLink.toString().replace(" ", "%20");
            mediaPlayer.setDataSource(audioUrl);
            mediaPlayer.prepareAsync();
            mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
                @Override
                public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
                    Progressdialogs.getInstance().closeDialog();
                    Toast.makeText(AudioPlayActivity.this, "Failed to load audio", Toast.LENGTH_SHORT).show();
                    return false;
                }
            });
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer) {
                    Progressdialogs.getInstance().closeDialog();
                    finalTime = mediaPlayer.getDuration();
                    seekbar.setMax((int) finalTime);
                    seekbar.setClickable(false);
                    play();
                    duration.setVisibility(View.VISIBLE);
                }
            });


        } catch (Exception e) {
            e.printStackTrace();
        }
    }

我注意到小音频文件很容易播放,但大音频文件无法播放。我也尝试使用 MediaPlayer 的 FFmpegMediaPlayer 库 intead 然后播放大音频文件但我的 apk 文件大小增加到 32 MB。所以我不能使用 FFmpegMediaPlayer 通过 url 播放音频。请建议我最好的库或本机代码,以将大型音频文件作为实时流播放。

提前致谢

我使用以下库

compile 'com.devbrackets.android:exomedia:3.1.1'

现在可以完美播放大文件了。

使用

 import com.devbrackets.android.exomedia.EMAudioPlayer;
 private EMAudioPlayer mediaPlayer;