android java音频dsp站点还是android声音库?

android java音频dsp站点还是android声音库?,android,audio,signal-processing,Android,Audio,Signal Processing,有人知道学习android音频dsp的有用链接吗? 还是声音图书馆 我试图制作一个基本的混音器来播放wav文件,但我意识到我对dsp的了解不够,而且我也找不到任何适合android的东西 我有一个wav文件加载到一个字节数组和一个短循环上的音轨。 如何输入数据 我希望这篇文章会被忽略,但值得一试 FileInputStream is = new FileInputStream(filePath); BufferedInputStream bis = new

有人知道学习android音频dsp的有用链接吗? 还是声音图书馆

我试图制作一个基本的混音器来播放wav文件,但我意识到我对dsp的了解不够,而且我也找不到任何适合android的东西

我有一个wav文件加载到一个字节数组和一个短循环上的音轨。 如何输入数据

我希望这篇文章会被忽略,但值得一试

    FileInputStream is = new FileInputStream(filePath);
                BufferedInputStream bis = new BufferedInputStream(is);
            DataInputStream dis = new DataInputStream(bis);

            int i = 0;

                while (dis.available() > 0) {
                    byteData[i] = dis.readByte(); //byteData

                  i++;
                }

 final int minSize = AudioTrack.getMinBufferSize( 44100, AudioFormat.CHANNEL_CONFIGURATION_STEREO, AudioFormat.ENCODING_PCM_16BIT ); 
           track = new AudioTrack( AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_STEREO, AudioFormat.ENCODING_PCM_16BIT, 
             minSize, AudioTrack.MODE_STREAM);
           track.play();
           bRun=true;

        new Thread(new Runnable() {

            public void run() { 

                  track.write(byteData, 0, minSize);


            }

            }).start();

几个月前我处于你的位置,所以我会尝试一下

如果已经有字节数组中的wav文件音频样本,只需将样本传递给audio track对象(查找write()方法)

要将音频混合在一起,只需添加每个曲目中的same即可。例如,将第一个样本从轨迹1添加到轨迹2,将第二个样本从轨迹1添加到轨迹2,依此类推。理想情况下,最终结果将是第三个数组,其中包含添加的SAMPLW,并将其传递给audio track实例的“write”方法

你必须注意这里的剪辑。如果数据类型为“short”,则允许的最大值为32768。确保添加的样本不超过此限制的一种简单方法是,对添加进行peform,并将结果存储在数据类型大于short(例如int)的变量中,然后对结果进行评估。如果大于32768,则使其等于32768,并将其抛回短距离

int result = track1[i] + track2[i];

if(result > 32768) {
   result = 32768;
}
else if(result < -32768) {
    result = -32768;
}

mixedAudio[i] = (short)result;
int result=track1[i]+track2[i];
如果(结果>32768){
结果=32768;
}
否则如果(结果<-32768){
结果=-32768;
}
mixedAudio[i]=(短)结果;
请注意上面的代码段如何测试短字符的最小范围

由于这里没有格式,我在火车上用手机:-)

祝你好运