简单改造:让音箱和耳机自动切换
电脑端通过硬件改造实现音箱和耳机自动切换
- 原理与材料
- 一般声卡上有LINE/SPKOUT(声音输出)、LINE IN(声音输入)和麦克风插孔,音箱和耳机都接在LINE/SPKOUT插孔上。该插孔输出左、右声道音频信号,插头连接的三根导线分别是左声道信号线(L)、右声道信号线(R)和公共地线(G)。只要使左、右声道音频信号在音箱和耳机间切换就能实现自动切换。所需成本很低(不超过5元),只需两个立体声插座和若干导线。
- 改造步骤
- 连接线路
- 声卡输出的立体声L、R信号经插头分别接到插座1的2、5端,公共的地线G同时连接到插座一和插座二的1端,插座一的3、4端分别连接插座二的2、5端。
- 使用方式
- 音箱插头可长期插在插座二中,当插座一中不插耳机插头时,它的2、3端及4、5端间的触点是接通的,L、R信号经过触点分别送到插头二的2、5端,音箱正常发声;当插入耳机插头时,其2、3端,4、5端间的触点分开,断开了音箱的信号,音箱无声,只有耳机工作。是否插入音箱插头不影响耳机的正常使用。
- 连接线路
电脑端通过软件设置实现音箱和耳机自动切换
- Windows系统
- 利用高清音频管理界面(以Realtek为例)
- 打开控制面板,选择硬件和声音,然后选择Realtek高清音频管理器。
- 点击右上角的设备高级设置。
- 选择“当插入外部设备时使内置设备静音选项”(不同版本表述可能略有差异),点击确定,这样当插入耳机时计算机自带的扬声器就会自动静音,实现音频设备的自动切换。
- 其他设置方式
- 打开控制面板,选择硬件和声音,再选择Realtek高清晰音频管理器。
- 点击右上角设备高级设置。
- 选择“使前部和后部输出设备同时播放两种不同的音频流”,点击确定。
- 点击右上角的文件夹图标,选择“当插入设备时,开启自动弹出对话框”,点击确定。
- 用鼠标右键点击黑色的孔(具体为相关音频接口标识),选择连接器重新分配,选音源输入为耳机输出声音,选前喇叭为音响输出声音,即可切换音响和麦克风(这里也涉及到音频输入输出设备的切换关系)。
- 利用高清音频管理界面(以Realtek为例)
Android系统
- 利用AudioManager
- AudioManager提供了一些方法来查询和切换当前Audio输出通道,并且在Audio输出发生变化时能捕获并处理这种变化。
- 例如可以使用isBluetoothA2dpOn()检查A2DP Audio音频输出是否通过蓝牙耳机;isSpeakerphoneOn()检查扬声器是否打开;isWiredHeadsetOn()检查线控耳机是否连接(注意这个方法只是用来判断耳机是否是插入状态,并不能用它的结果来判定当前的Audio是通过耳机输出的,这还依赖于其他条件)。
- 若要切换到外放,可以使用setSpeakerphoneOn(true);若要切换到耳机(以蓝牙SCO耳机为例),可以使用setBluetoothScoOn(true)等方法,但在使用时需要添加权限。同时,在设置播放模式的时候,需要考虑流类型,如使用STREAM_MUSIC流类型时,切换播放设备的时候就需要设置为MODE_IN_COMMUNICATION模式而不是MODE_NORMAL模式。
本篇文章所含信息均从网络公开资源搜集整理,旨在为读者提供参考。尽管我们在编辑过程中力求信息的准确性和完整性,但无法对所有内容的时效性、真实性及全面性做出绝对保证。读者在阅读和使用这些信息时,应自行评估其适用性,并承担可能由此产生的风险。本网站/作者不对因信息使用不当或误解而造成的任何损失或损害承担责任。
