关于音频设备 比如说 我现在一台机器上有两个声卡 如何把默认得音频输入输出声卡换成另外一个声卡 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以查看 mixerSetControlDetails 等系列函数在MSDN里面有sample code,在索引里面找“mixapp” up通过软件怎么实现?我通过写注册表,不好用。尤其是在2000和xp下键值名字也不一定相同。 DirectSound里可以设置用哪个声卡播放的,中国游戏开发者和中国游戏资源网的例子很多的 枚举可以使用的声音设备 一般的情况下,可能并不需要枚举可以使用的声音设备,使用缺省设备不会带来什么麻烦(相信用户-上帝:P的设置),但是如果你希望将程序做得更“面对对象”一些,给用户更多更好的选择(很多3D GAME都可以让用户来选择显卡,道理大同小异),那你就需要使用到枚举可供使用的声音设备了。 枚举可供使用的声音设备首先要写一回调函数,在程序每找到一可供使用的声音设备时调用,在那个函数里你可以做任何事,并且它可以拥有任何的合法的名字,但是你必须作为DSEnumCallback声明它,回调函数必须返回一BOOL,TRUE则继续列表,FALSE就退出枚举过程了。 和显示设备的枚举差不多,下面就是载自Dsenum.c的几段代码。由于本人认为使用得不多就没怎么研究(其实也是很简单的:P),所以就不再累赘,后面还有更令人兴奋的东西呢!代码如下://回调函数BOOL CALLBACK DSEnumProc(LPGUID lpGUID,LPCTSTR lpszDesc,LPCTSTR lpszDrvName,LPVOID lpContext ){ HWND hCombo = *(HWND *)lpContext; LPGUID lpTemp = NULL; if ( lpGUID != NULL ) { if (( lpTemp = malloc( sizeof(GUID))) == NULL ) return( TRUE ); memcpy( lpTemp, lpGUID, sizeof(GUID)); } ComboBox_AddString( hCombo, lpszDesc ); ComboBox_SetItemData( hCombo, ComboBox_FindString( hCombo, 0, lpszDesc ), lpTemp ); //编辑者注:此句有误 return( TRUE );} 上面的是枚举,跟指定没什么关系的,DirectSound很容易的,游戏网站上例子很多,DirectX SDK 中页有例子的 设置了一个数组用来接收数据的,我怎么来追踪他是否接受到数据了 类复合问题! 如何得到其他进程窗口的文字信息? 必需的资源无法得到?? 基于对话框的配置文件 如何在注冊表中進行網卡的禁用啟用設置,就象操作系統中操控屬性欄中的停用按扭一樣? 求救高手:怎么按半径和角度来画一个圆弧,100分相送! 不难的问题,给出建设性意见的我会给分的。谢谢各位。 菜鸟问题:如何生成一个随机数?整数?浮点?范围?多谢!! 初学VC,对函数中的参数很困惑,不知道是什么意思请教一下不知道怎么学下去 急问:MSCom控件,为什么和msdn里说的不一样? int f7是什么功能调用?
在MSDN里面有sample code,在索引里面找“mixapp”
通过软件怎么实现?
我通过写注册表,不好用。尤其是在2000和xp下键值名字也不一定相同。
枚举可供使用的声音设备首先要写一回调函数,在程序每找到一可供使用的声音设备时调用,在那个函数里你可以做任何事,并且它可以拥有任何的合法的名字,但是你必须作为DSEnumCallback声明它,回调函数必须返回一BOOL,TRUE则继续列表,FALSE就退出枚举过程了。
和显示设备的枚举差不多,下面就是载自Dsenum.c的几段代码。由于本人认为使用得不多就没怎么研究(其实也是很简单的:P),所以就不再累赘,后面还有更令人兴奋的东西呢!代码如下://回调函数
BOOL CALLBACK DSEnumProc(LPGUID lpGUID,LPCTSTR lpszDesc,LPCTSTR lpszDrvName,LPVOID lpContext )
{
HWND hCombo = *(HWND *)lpContext;
LPGUID lpTemp = NULL; if ( lpGUID != NULL )
{
if (( lpTemp = malloc( sizeof(GUID))) == NULL )
return( TRUE ); memcpy( lpTemp, lpGUID, sizeof(GUID));
} ComboBox_AddString( hCombo, lpszDesc );
ComboBox_SetItemData( hCombo,
ComboBox_FindString( hCombo, 0, lpszDesc ), lpTemp ); //编辑者注:此句有误
return( TRUE );
}