请问如何用指定的声卡播放a_law的声音文件?

ykstars 2008-01-21 11:13:16
机器上安装有两个声卡,一个是usb的,现在可以找到这个声卡,但是我用waveoutopen函数的时候,这个只能用pcm格式的,不能用a_law, 因为我在那个waveoutopen函数要指定用那个声卡,所以不能用mapper参数,请问大家是怎么做的?有什么建议吗?

其他的办法也可以,谢谢
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykstars 2008-01-24
  • 打赏
  • 举报
回复
hehe ,waveoutopen 好象格式只能是WAVE_FORMAT_PCM,我希望用a_law,结果一改就出错,不知道为什么
zhourenyun 2008-01-24
  • 打赏
  • 举报
回复
先用获取声卡参数的waveInGetNumDevs
得到个数
然后wavein/out的时候打开就ok了记得那个参数是从0开始
#include <windows.h>
#include <mmsystem.h>
#include <iostream>
using namespace std;
#pragma comment(lib, "Winmm.lib ")

#ifdef UNICODE
#define tcout wcout
#else
#define tcout cout
#endif

int _tmain(int argc, _TCHAR* argv[])
{
int nSoundCardCount = waveInGetNumDevs();

for (int i = 0; i < nSoundCardCount; i++)
{
WAVEINCAPS wic;
waveInGetDevCaps(i, &wic, sizeof(wic));
tcout < < wic.szPname < < endl;

}
return 0;
}
给你个参考代码
ykstars 2008-01-22
  • 打赏
  • 举报
回复
没有人帮帮我啊?

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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