我想用SPEEX进行语音编码 可是一直进入的是内存错误中断是怎么回事? void MemManage_Handler(void) { /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) { } /* USER CODE BEGIN MemoryManagement_IRQn 1 */ /* USER CODE END MemoryManagement_IRQn 1 */ } 通过仿真发现每次执行到int nb_encode(void *state, void *vin, SpeexBits *bits)这个函数里的 /* LSP Quantization */ if (st->first) { for (i=0;i<st->lpcSize;i++) st->old_lsp[i] = lsp[i]; } 就会跳到内存错误中断,有没有大神给讲解一下该怎么整 |
这是speex库音频降噪官网对它的类的说明:
http://www.speex.org/docs/api/speex-api-reference/annotated.html
这是网友的使用经验:
http://www.cnblogs.com/riddick/p/6959390.html
评分
查看全部评分
评分
查看全部评分
nb_encode(void *state, void *vin, SpeexBits *bits)这个函数的一开头就定义了
EncState *st;
至于EncState
typedef struct EncState
是代表窄带编码器全部状态的结构
这都是库里的函数也不知道怎么改。。。之前没有修改堆的大小显示进入的是硬件异常中断,改了堆的大小后进入的就是内存异常中断了。。。
我用的库是http://www.openedv.com/forum.php ... amp;highlight=speex这里面下载的,,,
int nb_encode(void *state, void *vin, SpeexBits *bits)
{
EncState *st;
这个指针是开头就定义好的,,
EncState 是.h文件里定义的
typedef struct EncState
他代表窄带编码器全部状态的结构
这是我下载的库
http://www.openedv.com/forum.php ... amp;highlight=speex
基本不知道要改什么。。。。。
之前没有修改堆的大小显示进入的都是硬件错误中断,修改了堆的大小后进入的就是内存错误中断了。。
这个指针
int nb_encode(void *state, void *vin, SpeexBits *bits)
{
EncState *st;
在函数的一开始就定义了,,EncState 至于这个是
typedef struct EncState
我一开始没有修改堆的大小显示进入的是硬件错误中断,当我把堆大小改变后进入的就是内存错误中断了。。。