请教一下16位pcm编码的问题

passionhzy 2012-11-04 06:44:15
8位的pcm编码在很多地方都可以找到
a0是极性码,判断正负,a1,a2,a3是段位码,表示a律中所在的段位,a4~a7是段内码,表示段内的值

现在我想做一个信号采集以后的声音播放程序,需要用到16位的pcm编码才能放到声卡播放,使用的是waveoutopen等api,wFormatTag = WAVE_FORMAT_PCM,我想自己写一个编码程序把采集到的信号变成16位的pcm格式放到声卡里播放
请问各位大神:
1.16位的pcm,如果用a0~a15表示的话,a0表示极性码,是否a1,a2,a3仍然表示段位码,a4~a15表示段内码,那么一段里面就有2^12 = 4096个量化单位?
2.有没有现成的pcm编码的api可以用
...全文
690 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
图灵狗 2012-11-04
  • 打赏
  • 举报
回复
用WaveIn*系列API函数即可,Wave文件只是在PCM数据的基础上加上头信息而已,具体细节参考这篇(http://www.vckbase.com/index.php/wv/664.html)文章。
passionhzy 2012-11-04
  • 打赏
  • 举报
回复
直接用这些函数播放,采集的数据自动就编码成pcm了吗?
JiMoKuangXiangQu 2012-11-04
  • 打赏
  • 举报
回复
用waveOut*()系列函数不就可以吗?为什么要自己写呢? waveOutOpen(), waveOutProc()等.

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧