这个问题在这里已经有了答案:
Can I get raw PCM data from MediaPlayer or SoundPool?
(3 个回答)
4年前关闭。
我想在实时流式传输歌曲的同时在 Android Studio 中逐字节处理音频。似乎无法从 MediaPlayer 类中获取数据。我将不胜感激任何帮助。谢谢!
最佳答案
代替 MediaPlayer 使用 AudioRecord
Audio Record - Android Developer
样本:
int sampleRate = 16000;
int bufferSize = AudioRecord.getMinBufferSize(sampleRate, AudioFormat.CHANNEL_CONFIGURATION_DEFAULT, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord audioRecorder = new AudioRecord(
MediaRecorder.AudioSource.MIC, sampleRate,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT,
bufferSize);
audioRecord.startRecording();
new Thread(new Runnable() {
@Override
public void run() {
while (mIsRecording) {
short[] buffer = new short[mBufferSize];
int readSize = mAudioRecorder.read(buffer, 0, buffer.length);
// do your stuff here
}
}
}).start();
关于java - android studio中逐字节动态音频处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026609/