大家好,
我想在i2s上播放音频剪辑,如短音频剪辑 - 连接到设备,断开连接等。我转换了.wav文件到c-代码(即时使用Wavtoc软件来转换C代码)并存储在闪存中。下面我附上了.wav to c代码文件。
我正在使用da7212编解码器通过I2S播放这些音频剪辑。
这些音频剪辑具有8K采样率,每个样本16位比特。3500左右的样品总数。
我尝试了中断方法来传输512bytes的数据,请检查以下代码
- 元素数为3500个样本
- 无符号短powerondata [num_elements] = {---------};包含3500个样本值,
- uint16_t * firstarray = stereo_aud_data;//数据存储立体声格式
- unsigned short stereo_aud_data [2 * num_elements];
void conncetaud(){
INT I = 0;
//以立体声格式存储数据
for(int i = 0; i
stereo_aud_data [(i * 2)] = powerondata [i];//剩下
stereo_aud_data [(i * 2)+1] = powerondata [i];//正确的
}
firstarray = stereo_aud_data;
而(我<15){
if(hal_i2s_getstate(&codec_i2s)== hal_i2s_state_ready){
hal_i2sex_transmitreceive_it(&codec_i2s,firstarray,rxbuffer,512);//将在此处获取回调事件-al-hal_i2sex_txrxcpltcallback
显示((“语音提示:%d \ n”,* firstarray));
I ++;
Osdelay(200);
}
}
}
3.更新调用呼叫函数中的数据。
void hal_i2sex_txrxcpltcallback(i2s_handletypedef * hi2s){
Firstarray + = 512;
}
我确定我正确配置了Codec寄存器,我可以播放音乐和所有连接到BT。我正在使用STM32F4系列微控制器,DA7212连接到此控制器。
下午,
已附加了寄存器的设置文件,写入i2c到hp使用“这些音频剪辑具有8k采样率,16位每个样本。”
问候,
谢谢你回复,
初始设置类似于Mine寄存器设置。我已经用语音提示测试了“电源”,但它不起作用。
您测试过哪些数据?或者用音调测试测试?
它用音乐文件进行了测试。
好的,
音乐文件通过i2s存储在SD卡中,您可以播放。我的鄙视是正确的吗?
但我想通过一系列样本在I2S上播放音频剪辑,该样本存储在闪存中。
它听起来这是相关的软件,而不是DA7212的操作。
是的,它将在固件中发出问题。我试试后让你知道