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;
某些音频文件 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;