我正在尝试使用ShineMP3Encoder将麦克风输出保存到mp3文件中。一切正常,但当我尝试将采样率设置为每秒22K样本时,我得到一个错误。
var mic:Microphone = Microphone.getMicrophone();
mic.rate = 22;
Error #2044: Unhandled error:. text=Invalid samplerate
是否有ShineMP3Encoder的允许费率列表?
以防万一,这里是我使用ShineMP3Encoder的地方:
mp3encoder = new ShineMP3Encoder(wavData);
mp3encoder.start();
答案 0 :(得分:0)
在ShineMP3Encoder源代码中的main.c中找到了允许采样率的硬编码值:
static int find_samplerate_index(long freq)
{
static long mpeg1[3] = {**44100, 48000, 32000**};
int i;
for(i=0;i<3;i++)
if(freq==mpeg1[i]) return i;
ERROR("Invalid samplerate");
return -1;
}
由于唯一等于其中一个麦克风采样率的值为44100,因此其他采样率将导致错误。