【问题标题】:Using AudioTrack to EQ a .WAV file?使用 AudioTrack 来均衡 .WAV 文件?
【发布时间】:2013-03-24 13:48:08
【问题描述】:

我需要做一些 EQing 并为 .wav 文件应用数字效果。有没有办法从下面的“缓冲区”中提取单个 PCM 样本值来进行一些 EQ/处理? AudioTrack 是正确的方法吗?

private void playSound() {


audioTrack.play();
double input = 0;
int bufferSize = 512;
byte[] buffer = new byte[bufferSize];
InputStream inputStream = getResources().openRawResource(R.raw.wave);

    try {
        while((input = inputStream.read(buffer)) != -1)
        audioTrack.write(buffer, 0, input);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

【问题讨论】:

  • 您是要在播放时进行 EQ,还是要将均衡后的音频写回文件?
  • 播放。你有什么想法?

标签: android signal-processing pcm


【解决方案1】:

从 API 级别 9(姜饼)开始,您可以将 Equalizer AudioEffect 附加到 AudioTrack 的 audio session。

另一种选择是在将 PCM 数据写入音轨之前处理应用中的 PCM 数据。出于性能原因,这可能是您希望在本机代码而不是 Java 中执行的操作。
实现自己的均衡器效果的理论有点宽泛,以适合 StackOverflow 上的问答格式,所以如果你想走那条路,你就必须在别处搜索相关信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 2011-11-14
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 2017-02-05
    相关资源
    最近更新 更多