delphi编程 实现选择控制多个声卡的切换 30
1个回答
展开全部
以前编写过一些基于Direct Sound的程序,不知道你是否也用同样或类似的接口,我觉得对多设备可用时的选择问题的处理策略也许都是类似的。
我在一开始使用 Direct Sound 接口时就注意到了多设备问题,它的API提供了获取设备信息的调用函数,在使用时要自己指定设备,或者使用系统默认设备,你在做完了大部分程序才发现这问题的话,那么估计你一直在选择使用系统默认设备,只是你可能没意识到,请仔细查看你的API的帮助文档和参数。
解决多设备切换,你的程序是不能自动选择什么是最合适的设备的——这是根本不可能的,无论音频还是视频设备都一样,你没办法通过从API获得的信息确定哪个更适用。你能做的,是让用户界面选择,然后你保存配置(下次运行还默认用它)。最简单的实现方式,大概是设置界面上弄个ComboBox下拉框,你用API把所有音频设备及描述信息弄到,然后把描述信息填到ComboBox中去,用户选择哪个,你就用哪个。
不是多声卡才有这问题,对视频和音频设备,单个的物理设备可能产生多个逻辑设备(它们往往是不同软件层次上的硬件访问接口),对你的程序而言,你也不易(也不需要)分辨什么是物理的和逻辑的设备,把API获得的设备全盘推给用户就成。
我在一开始使用 Direct Sound 接口时就注意到了多设备问题,它的API提供了获取设备信息的调用函数,在使用时要自己指定设备,或者使用系统默认设备,你在做完了大部分程序才发现这问题的话,那么估计你一直在选择使用系统默认设备,只是你可能没意识到,请仔细查看你的API的帮助文档和参数。
解决多设备切换,你的程序是不能自动选择什么是最合适的设备的——这是根本不可能的,无论音频还是视频设备都一样,你没办法通过从API获得的信息确定哪个更适用。你能做的,是让用户界面选择,然后你保存配置(下次运行还默认用它)。最简单的实现方式,大概是设置界面上弄个ComboBox下拉框,你用API把所有音频设备及描述信息弄到,然后把描述信息填到ComboBox中去,用户选择哪个,你就用哪个。
不是多声卡才有这问题,对视频和音频设备,单个的物理设备可能产生多个逻辑设备(它们往往是不同软件层次上的硬件访问接口),对你的程序而言,你也不易(也不需要)分辨什么是物理的和逻辑的设备,把API获得的设备全盘推给用户就成。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |