【发布时间】:2017-04-14 10:51:29
【问题描述】:
某些音频文件 url 未在 mediaplayer 中播放 这是我的代码
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();
}
}
我注意到小音频文件很容易播放,但大音频文件无法播放。我还尝试使用 FFmpegMediaPlayer 库而不是 MediaPlayer,然后播放大型音频文件,但我的 apk 文件大小增加到 32 MB。所以我不能使用 FFmpegMediaPlayer 通过 url 播放音频。请建议我将大型音频文件作为直播流播放的最佳库或本机代码。
提前致谢
【问题讨论】:
-
尝试使用 ExoPlayer:- github.com/google/ExoPlayer
-
尝试设置 mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);在prepareAsync()之前
-
@AbhayBohra 我试过但没用
-
@Bhavnik ExoPlayer 也无法正常工作
标签: android media-player