在即时通讯应用中,根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式。需要支持多种音频工作(采集)模式,包括:
1、发言模式(默认):自动选择麦克风为音频输入源设备,用户说话的声音被麦克风采集,启动音频特效处理(包括:回音消除、静音检测、噪音抑制、自动增溢),该模式通常应用于互动交流,用户发言讨论等场合;
2、放歌模式:自动选择立体声混音输入源设备,本地计算机所播放的声音被采集,同时SDK内部会自动屏蔽其它用户的声音(如果不屏蔽,则用户的声音会被采集下来,并回传给用户,用户那边将会听到回音),SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户放歌,而不用关心其他用户发言的场合;
3、卡拉OK模式:自动选择立体声混音和麦克风两个输入源设备(该特性与硬件相关,有些声卡不支持同时采集麦克风和立体声混音),本地计算机所播放的声音和用户说话的声音将会被采集,同时SDK内部会自动屏蔽其它用户的声音,SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户放歌,同时自己用麦克风伴唱,而不用关心其它用户发言的场合;
4、线路输入模式:自动选择线路输入源设备,通过线路输入的声音将被采集(通常是指将外部的DV、DVD、TV等设备的音频输出端子接入声卡的LineIn口的应用),SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户播放外部设备的声音,而不需要自己讲话的场合,如向房间的所有用户直播电视信号时,可将电视的视频输出接入专用的视频采集卡,而将电视的声音输出接入声卡的LineIn接口,并选择“线路输入模式”,那么当前房间内的其它用户就可以收看到实时的电视画面与声音了。
典型修改音频工作模式的代码如下:
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |