AudioBox是一个专为Android平台编写的音频库,支持播放和录音,目前包含以下组件:
播放
AudioPlayer: 用于播放磁盘文件
RawPlayer: 用于播放裸数据
录音
AudioRecorder
settings.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://jitpack.io' }
}
}
build.gradle[module]
dependencies {
implementation 'com.github.TTTUUUIII:audiobox:v1.1.0'
}
AudioPlayer
AudioPlayer player = new AudioPlayer();
player.setAudioSource("path/to/audio.pcm");
player.play();
RawPlayer
RawPlayer player = new RawPlayer();
player.setAudioSource(new RawPacket.Builder()
.setBody(new byte[]{0, 0, 0})
.build());
player.play();
注:默认播放格式为立体声,48000Hz
v1.0.*
AudioRecorder<Short, short[]> recorder = new AudioRecorder<>(Short.class);
recorder.setCaptureListener(new CaptureListener<short[]>() {
@Override
public void onCapture(short[] data) {
/*handle audio data*/
}
});
recorder.start();
v1.1.*
AudioRecorder<short[]> recorder = new AudioRecorder<>();
recorder.setCaptureListener(new CaptureListener<short[]>() {
@Override
public void onCapture(short[] data) {
/*handle audio data*/
}
}, short[].class);
recorder.start();
注:录音需要
android.permission.RECORD_AUDIO
权限。