跳到主要内容
版本:Next

2、语音接口

房间初始化完成后,玩家可连入房间开启语音聊天功能。
假设以下场景 :A、B、C 都在同一个房间开麦说话

(1) 开启或关闭麦克风

注意

如果只有A 关闭了本地的麦克风, 则 A 能听见 B 和 C 的声音。
B 和 C 则不能听到 A 的声音。

接口原型

void EnableMic(bool enable)
参数名数据类型属性说明
enablebool是否开启麦克风并发布 audio

代码示例

// 示例代码
var roomManager = LiveService.GetRoom(roomId)
// 关闭麦克风
roomManager.EnableMic(false)

(2) 开启或关闭成员音频流

该接口用来设置是否接收房间内成员的音频流。

注意

如果 A 禁言 C, 则 A 只能听见 B 的声音。
B 因为没有设置禁言, 仍旧可以听见 A 和 C 的声音。
C 同样因为没有设置禁言, 可以听见 A 和 B 的声音。

接口原型

void EnableAudio(bool enable, string receiverID)
参数名数据类型属性说明
enablebool是否接收房间中其他玩家发布的 audio,默认是true
receiverIdstring房间中其他玩家的id

代码示例

// 获取房间管理类
var roomManager = LiveService.GetRoom(roomId)
roomManager.EnableAudio(false, "Other Participant ID")

(3) 获取麦克风状态

获取房间内用户的麦克风状态,当用户没有音频流或者对其设置了屏蔽状态时,均返回false。

接口原型

bool GetMicState(string receiverID)

代码示例

// 获取房间管理类
var roomManager = LiveService.GetRoom(roomId)
roomManager.GetMicState("Other Participant ID")

(4) 设置扬声器的音量

此接口用于设置扬声器的音量。

接口原型

void SetSpeakerVolume(int volume)
参数名数据类型属性说明
volumeint设置音量,范围0 - 100,当数值为0时,表示静音,当数值为100时,表示音量不增不减,默认数值为100。

代码示例

// 获取房间管理类
var roomManager = LiveService.GetRoom(roomId);
roomManager.SetSpeakerVolume(volume);

(5) 获取扬声器的音量

此接口用于获取扬声器的音量。返回值为 int 类型数值,代表扬声器的音量,默认返回100。Level 是实时音量,Volume 是扬声器的音量,最终声音音量 = Level × Volume %。例如实时音量是数值是100,此时 Volume 的数值是50,那么最终发出来的声音数值也是50。

接口原型

int GetSpeakerVolume()

代码示例

// 获取房间管理类
var roomManager = LiveService.GetRoom(roomId);
roomManager.GetSpeakerVolume();