我正在尝试更改音频文件的速度,如果我使用无符号值一切都可以,但是一旦我开始使用双值,事情会变得混乱,例如,我的代码适用于所有&#34 ; X.5"数字,但它没有任何其他带小数的数字,在我的情况下,我想将速度提高1.3点。但我得到的只是一个文件,除了令人讨厌的噪音之外,你几乎听不到任何声音。
以下是我正在使用的代码:
{{1}}
}
答案 0 :(得分:1)
你的读数落在奇数障碍上:那是因为截断,读取字节从奇数位置开始。使用以下内容从偶数位置开始:
for (i=0; i<(b2.length/frameSize); i++) {
int ind=(int)((i*frameSize*playBackSpeed));
if((ind%2)==1) ind++;
for (j=0; j<frameSize; j++) {
b2[(i*frameSize)+j] = b1[ind+j];
}
}
或者您可以将跳转更改为4:
if((ind%4)>0) ind+=(4-(ind%4));