跳到主要内容
版本:1.0.0

4、接收成员 audio流

玩家进入房间后,一个主要的操作就是发布 audio 给其他玩家接收,并接收其他成员的audio进行播放。这里分步骤介绍如何在客户端操作音频流。

4.1 发布本地 audio

在SDK接口中我们可以直接调用函数 EnableMic 即可,不需要额外操作。

4.2 接收 audio

在收到房间内其他成员音频流发布时会触发通知事件OnParticipantAudioChanged

void OnParticipantAudioChanged(RoomParticipantInfo info, RemoteAudioTrack track,  bool isPublished)
参数名数据类型属性说明
infoRoomParticipantInfo成员Id、以及所在的房间Id
trackRemoteAudioTrack成员音频流
isPublishedbool音频流是否发布状态值

需要把audio进行绑定和解除绑定操作,这需要借助Unity的AudioSource类,应用测需要给每个房间内的成员绑定一个AudioSource,然后根据isPublished进行绑定或者解绑操作。

代码示例

// 获取成员所有的 audioSource对象
var audioSource = gameUserObject.GetComponentInChildren<AudioSource>();

if (isPublish)
{
// 发布audio
track.Attach(audioSource);
}
else
{
// 取消audio
track.Detach(audioSource);
}