硬汉嵌入式论坛

 找回密码
 立即注册
查看: 429|回复: 4
收起左侧

[SAI/I2S] 请教下wav24bit单声道转成16bit双声道失败 ?

[复制链接]

609

主题

3049

回帖

4896

积分

至尊会员

积分
4896
发表于 2023-6-23 09:57:29 | 显示全部楼层 |阅读模式
请教下wav24bit单声道转成16bit双声道失败 ?


把 24bit 单声道转成 16bit 双声道后目前只能一个声道有声音  ??


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-6-24 00:35:56 | 显示全部楼层
没问题,我这个就是,支持双声道。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=17330
回复

使用道具 举报

609

主题

3049

回帖

4896

积分

至尊会员

积分
4896
 楼主| 发表于 2023-6-24 12:35:56 | 显示全部楼层
本帖最后由 hpdell 于 2023-6-24 15:17 编辑

在大神的指点下貌似终于搞定了
感谢感谢大神了啊

// ----------------
这个方法是吧 24bit 单声道 转成 16bit 双声道

                        readlen=(size/4)*3;
                        f_read(_file,_ptrtemp,readlen,(UINT*)&bread);
                        p = _ptrtemp;
                        bread=(bread/3)*4;
                        for(i=0;i<bread;)
                        {
                                buf        =        p[1];
                                buf[i+1]        =        p[2];
                                buf[i+2]        =        p[1];
                                buf[i+3]        =        p[2];
                                i+=4;
                                p+=3;
                        }



// ---------------------------
这个方法是吧 24bit 双声道 转成 16bit 双声道, 大神提供的
                NumBytesReq=(_usSize / 2) * 3;                                                

                NumBytesRead = fread((void *)_ptrtemp, 1, NumBytesReq, _pFile);
                p = _ptrtemp;
                for(i = 0; i < _usSize; i += 2, p += 3)
                {
                        _ptr   = p[1];
                        _ptr[i+1] = p[2];
                }
               
                /* 实际需读取的字节数 */
                NumBytesRead = (NumBytesRead / 3) * 2;



回复

使用道具 举报

25

主题

68

回帖

143

积分

初级会员

积分
143
QQ
发表于 2023-6-24 15:11:50 | 显示全部楼层
我做的STM32H7播放器不用转换,最高支持768K/32BIT WAV。

采用自动识别DAC技术,一个固件可以同时支持AK4493/AK4497/AK4499EQ/AK4499EX和双ES9038Q2M五种播放器。

2023-03-28_151308.jpg
回复

使用道具 举报

609

主题

3049

回帖

4896

积分

至尊会员

积分
4896
 楼主| 发表于 2023-6-24 16:07:37 | 显示全部楼层
pnhywyb 发表于 2023-6-24 15:11
我做的STM32H7播放器不用转换,最高支持768K/32BIT WAV。

采用自动识别DAC技术,一个固件可以同时支持AK ...

牛鼻呀,

有提供代码不 ?

另外产品哪里有售 ??

估计价格不便宜吧 ?/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 20:45 , Processed in 0.183567 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表