Android 音频开发 目录
一、演示
image
二、实现
实现流程:
使用MediaPlayer播放传入的音乐,并拿到mediaPlayerId
使用Visualizer类拿到拿到MediaPlayer播放中的音频数据(wave/fft)
将数据用自定义控件展现出来
三、准备工作
使用Visualizer需要录音的动态权限, 如果播放sd卡音频需要STORAGE权限
private static final String[] PERMISSIONS = new String[]{
Manifest.permission.RECORD_AUDIO,
Manifest.permission.MODIFY_AUDIO_SETTINGS
};
ActivityCompat.requestPermissions(MainActivity.this, PERMISSIONS, 1);
四、开始播放
private MediaPlayer.OnPreparedListener preparedListener = new
/**
* 播放音频
*
* @param raw 资源文件id
*/
private void doPlay(final int raw) {
try {
mediaPlayer = MediaPlayer.create(MyApp.getInstance(), raw);
if (mediaPlayer == null) {
Logger.e(TAG, "mediaPlayer is null");
return;
}
mediaPlayer.setOnErrorListener(errorListener);
mediaPlayer.setOnPreparedListener(preparedListener);
} catch (Exception e) {
Logger.e(e, TAG, e.getMessage());
}</