控制声音
简介
Pano SDK 支持控制音频设备和音量。
各端 SDK 相关接口,请查看下列介绍:
Windows (C++)
通过 RtcEngine 实例的 getAudioDeviceManager 方法获取音频设备管理器(AudioDeviceManager)。
- 音频采集
- 通过其
enumerateRecordDevices方法枚举音频采集设备 - 通过其
getRecordDevice方法获取当前使用的音频采集设备,setRecordDevice方法设置需要使用的音频采集设备 - 通过其
isDefaultRecordDevice方法检查当前使用的音频采集设备是否是系统默认通信设备,setDefaultRecordDevice方法设置系统默认通信设备作为音频采集设备 - 通过其
getRecordDeviceVolume方法获取采集音量,setRecordDeviceVolume方法设置采集音量
- 通过其
- 音频播放
- 通过其
enumeratePlayoutDevices方法枚举音频播放设备 - 通过其
getPlayoutDevice方法获取当前使用的音频播放设备,setPlayoutDevice方法设置需要使用的音频播放设备 - 通过其
isDefaultPlayoutDevice方法检查当前使用的音频播放设备是否是系统默认通信设备,setDefaultPlayoutDevice方法设置系统默认通信设备作为音频播放设备 - 通过其
getPlayoutDeviceVolume方法获取播放音量,setPlayoutDeviceVolume方法设置播放音量
- 通过其
- 播放静音
- 通过其
setPlayoutDataMuteStatus方法设置播放静音(1.6.4.1版本新增)
- 通过其
setRecordDeviceVolume和setPlayoutDeviceVolume方法会影响系统设备从而影响所有应用,setPlayoutDataMuteStatus方法仅影响当前应用。
macOS/iOS (Objective-C)
通过 PanoRtcEngineKit 实例的:
- getAudioDeviceVolume:方法获取当前音频设备的音量type指定为kPanoDeviceAudioRecord表示音频采集设备type指定为kPanoDeviceAudioPlayout表示音频播放设备
- setAudioDeviceVolume:withType:方法设置当前音频设备的音量(此方法会影响系统设备从而影响所有应用)- setPlayoutDataMuteStatus:方法设置播放静音(1.6.4.1版本新增,此方法仅影响当前应用)
以下方法仅 macOS 适用:
- enumerateDevices:方法枚举设备- getDevice:方法获取当前使用的设备,- setDevice:withType:方法设置需要使用的设备- isDefaultDeviceWithType:方法检查当前使用的设备是否为系统默认设备,- setDefaultDeviceWithType:方法使用系统默认设备
以下方法仅 iOS 适用:
- isEnabledLoudspeaker方法检查扬声器是否启用,- setLoudspeakerStatus:方法设置是否启用扬声器
Android (Java)
通过 RtcEngine 实例的getAudioDeviceManager 方法获取音频设备管理器(RtcAudioDeviceManager)。
- 通过其
getRecordDeviceVolume方法获取采集音量,setRecordDeviceVolume方法设置采集音量。 - 通过其
setPlayoutDevice方法选择音频播放设备,getPlayoutDeviceVolume方法获取播放音量,setPlayoutDeviceVolume方法设置播放音量。 - 通过其
isLoudspeakerOn方法检查扬声器是否启用,setLoudspeakerStatus方法设置是否启用扬声器 - 通过其
setPlayoutDataMuteStatus方法设置播放静音(1.6.4.1版本新增)。
setRecordDeviceVolume和setPlayoutDeviceVolume方法会影响系统设备从而影响所有应用,setPlayoutDataMuteStatus方法仅影响当前应用。
Web
通过 RtcEngine 实例的:
getMics方法获取麦克风列表,selectMic方法选择麦克风。getSpeakers方法获取扬声器列表,selectSpeaker方法选择扬声器。muteMic方法静音麦克风,unmuteMic方法取消静音麦克风。getAudioPlayoutVolume方法获取播放音量,setAudioPlayoutVolume方法设置播放音量。muteAudioPlayout方法设置播放静音,unmuteAudioPlayout方法取消播放静音。
Electron
通过 RtcEngine 实例的 audioDeviceMgr() 方法获取音频设备管理器。
- 音频采集
- 通过其
getRecordDeviceList()方法获取音频采集设备列表 - 通过其
getRecordDevice()方法获取当前使用的音频采集设备,setRecordDevice(deviceId)方法设置需要使用的音频采集设备 - 通过其
isDefaultRecordDevice()方法检查当前使用的音频采集设备是否是系统默认设备,setDefaultRecordDevice()方法设置系统默认设备作为音频采集设备注意:Windows 系统上对应"默认通信设备"而不是默认设备
- 通过其
getRecordDeviceVolume()方法获取采集音量,setRecordDeviceVolume(volume)方法设置采集音量(volume的取值范围为0 - 255)
- 通过其
- 音频播放
- 通过其
getPlayoutDeviceList()方法获取音频播放设备列表 - 通过其
getPlayoutDevice()方法获取当前使用的音频播放设备,setPlayoutDevice(deviceId)方法设置需要使用的音频播放设备 - 通过其
isDefaultPlayoutDevice()方法检查当前使用的音频播放设备是否是系统默认设备,setDefaultPlayoutDevice()方法设置系统默认设备作为音频播放设备注意:Windows 系统上对应"默认通信设备"而不是默认设备
- 通过其
getPlayoutDeviceVolume()方法获取播放音量,setPlayoutDeviceVolume(volume)方法设置播放音量(volume的取值范围为0 - 255)
- 通过其
- 播放静音
- 通过其
setPlayoutDataMuteStatus(muted)方法设置播放静音(参数为布尔值,1.2.0版本增加此方法)
setRecordDeviceVolume和setPlayoutDeviceVolume方法会影响系统设备从而影响所有应用,setPlayoutDataMuteStatus方法仅影响当前应用。 - 通过其
示例代码:
let audioDeviceMgr = rtcEngine.audioDeviceMgr();
let recordDeviceList = audioDeviceMgr.getRecordDeviceList();
let currentRecordDevice = audioDeviceMgr.getRecordDevice(); // 返回 deviceId
let isDefaultRecordDevice = audioDeviceMgr.isDefaultRecordDevice(); // true / false
let recordDeviceVolume = audioDeviceMgr.getRecordDeviceVolume(); // 示例:234
audioDeviceMgr.setRecordDeviceVolume(255);
let playoutDeviceList = audioDeviceMgr.getPlayoutDeviceList();
let currentPlayoutDevice = audioDeviceMgr.getPlayoutDevice(); // 返回 deviceId
let isDefaultPlayoutDevice = audioDeviceMgr.isDefaultPlayoutDevice(); // true / false
let playoutDeviceVolume = audioDeviceMgr.getPlayoutDeviceVolume(); // 示例:20
audioDeviceMgr.setPlayoutDeviceVolume(100);
audioDeviceMgr.setPlayoutDataMuteStatus(true); // 设置播放静音
Flutter
通过 RtcEngineKit 实例的:
getAudioDeviceVolume方法获取当前音频设备的音量,setAudioDeviceVolume方法设置当前音频设备的音量type指定为Record表示音频采集设备type指定为Playout表示音频播放设备
isEnabledLoudspeaker方法检查扬声器是否启用,setLoudspeakerStatus方法设置是否启用扬声器setPlayoutDataMuteStatus方法设置播放静音(1.0.7版本新增)
React Native
通过 RtcEngineKit 实例的:
getAudioDeviceVolume(type: AudioDeviceType)方法获取当前音频设备的音量,setAudioDeviceVolume(volume: number, type: AudioDeviceType)方法设置当前音频设备的音量type指定为Record表示音频采集设备type指定为Playout表示音频播放设备
isEnabledLoudspeaker()方法检查扬声器是否启用,setLoudspeakerStatus(enable: boolean)方法设置是否启用扬声器
