java - android studio中逐字节动态音频处理

标签 java android audio

这个问题在这里已经有了答案:





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/

相关文章:

java - 取消 GWT 重复计时器

java - 在linux上配置多个java

android - 当系统杀死 Activity 时,它会在 onDestroy 上运行吗?

record - Portaudio:如何仅在有声音的情况下进行录音?

python - 是否可以在R中的 “autodetec”函数之后为每个对话确定说话者

java - 快速多体重力算法?

java - 在 CMU Sphinx 4 中禁用控制台消息

android - 适配器不加载我的房间数据库列表

java - 在后台停止 MediaPlayer - Android

javascript - 将多个音频点击 JS 功能合并为一个?