line_in例程中声音播放的问题 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5037|回复: 6
打印 上一主题 下一主题

[已解决] line_in例程中声音播放的问题

[复制链接]

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
跳转到指定楼层
楼主
发表于 2017-3-18 22:39:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果没有理解错,在main函数里的while循环中的
memcpy((void *)txBufPtr[lastSentTxBuf],
                 (void *)rxBufPtr[lastFullRxBuf],
                AUDIO_BUF_SIZE);

这句话代表把接收到的数据复制给要发送的数组从而播放出来。
为什么当我定义一个中间数组tempBuf[AUDIO_BUF_SIZE];然后再进行复制

memcpy((void *)tempBuf, (void *)txBufPtr[lastSentTxBuf],AUDIO_BUF_SIZE);
memcpy( (void *)rxBufPtr[lastSentTxBuf],(void *)tempBuf,AUDIO_BUF_SIZE);


就播放不出声音来了呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖
回复

使用道具 举报

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
沙发
 楼主| 发表于 2017-3-18 22:47:35 | 只看该作者
这样做的目的是想把接收的数据取出来,为下一步的数据处理做准备,但是为什么现在只是进行简单的复制,还没有处理就放不出声音来了?
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
板凳
发表于 2017-3-20 16:20:46 | 只看该作者
发送和接收buffer你设置反了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
地板
 楼主| 发表于 2017-3-20 22:41:19 | 只看该作者
Lewis 发表于 2017-3-20 16:20
发送和接收buffer你设置反了

好吧,看来犯了一个很低级的问题呀。然后还有一个问题想请教工程师,我没太看懂宏定义
#define AUDIO_BUF_SIZE       (NUM_SAMPLES_PER_AUDIO_BUF * BYTES_PER_SAMPLE * I2S_SLOTS)为什么一帧信号数组需要这么长,如果只是存储左右声道的数据,AUDIO_BUF_SIZE=NUM_SAMPLES_PER_AUDIO_BUF *I2S_SLOTS不就可以了吗?
根据这个宏定义,我应该如何分离出左右声道的数据呢?

回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
5#
发表于 2017-3-21 11:08:33 | 只看该作者
buf大小 = 每个buf存储采样点数 * 每个采样点字节数 * 声道数
左右声道是交替存储的
回复 支持 反对

使用道具 举报

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
6#
 楼主| 发表于 2017-3-21 11:32:30 | 只看该作者
Lewis 发表于 2017-3-21 11:08
buf大小 = 每个buf存储采样点数 * 每个采样点字节数 * 声道数
左右声道是交替存储的 ...

根据宏定义,目前每个采样点字节数=2,也就是int型的数据。至于分离左右声道,举一个例子,是不是
buf[0]=左声道的低八位数据;
buf[1]=左声道的高八位数据;
buf[2]=右声道的低八位数据;
buf[3]=右声道的高八位数据???
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
7#
发表于 2017-3-27 14:44:29 | 只看该作者
对的,另外int是4个字节,short是两个字节
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-6-17 19:35 , Processed in 0.039664 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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