Android MediaPlayer 播放各种来源的音频文件,特效控制
MediaPlayer通过资源ID播放Raw目录下音频资源文件:MediaPlayer mMediaPlayer;mMediaPlayer= MediaPlayer.create(this, R.raw.bomb); //mMediaPlayer.setLooping(true); // 设置循环播放mMediaPlayer.start(); // 开始播放mMediaPlayer.s
·
MediaPlayer通过资源ID播放Raw目录下音频资源文件:
MediaPlayer mMediaPlayer;
mMediaPlayer = MediaPlayer.create(this, R.raw.bomb); //
mMediaPlayer.setLooping(true); // 设置循环播放
mMediaPlayer.start(); // 开始播放
mMediaPlayer.stop(); // 停止播放
// 设置播放下一首音频的代码
mMediaPlayer.reset(); // reset MediaPlayer
try {
mMediaPlayer.setDataSource("/mnt/sdcard/next.mp3"); // 指定要播放的音频文件
mMediaPlayer.prepare(); // MediaPlayer 预处理
mMediaPlayer.start(); // 开始播放
mMediaPlayer.stop(); // 停止播放
} catch (IOException e) {
e.printStackTrace();
}
MediaPlayer播放Asset目录下音频文件:
AssetManager assetManager = getAssets();
try {
AssetFileDescriptor afd = assetManager.openFd("one.mp3");
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(afd.getFileDescriptor()
, afd.getStartOffset()
, afd.getLength());
mediaPlayer.prepare();
mediaPlayer.start();
mediaPlayer.stop();
} catch (IOException e) {
e.printStackTrace();
}
MediaPlayer播放外部存储器上的音频文件:
try {
mMediaPlayer.setDataSource("/mnt/sdcard/next.mp3"); // 指定要播放的音频文件
mMediaPlayer.prepare(); // MediaPlayer 预处理
mMediaPlayer.start(); // 开始播放
mMediaPlayer.stop(); // 停止播放
} catch (IOException e) {
e.printStackTrace();
}
MediaPlayer播放来自网络的音频文件:
Uri uri = Uri.parse("http://192.168.8.88/audio/abc.mp3");
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(this, uri); // 根据URI装载音频文件
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
MediaPlayer 事件监听器:
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
}
});
mMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
return false;
}
});
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
}
});
mMediaPlayer.setOnSeekCompleteListener(new MediaPlayer.OnSeekCompleteListener() {
@Override
public void onSeekComplete(MediaPlayer mp) {
}
});
mMediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
}
});
mMediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
return false;
}
});
音频特效控制:
- AcousticEchoCanceler:取消回声控制器
- AutomaticGainControl:自动增益控制器
- NoiseSuppressor:噪音压制控制器
- BassBoost:重低音控制器
- Equalizer:均衡控制器
- PresetReverb:预设音声控制器
- Visualizer:示波器
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)