在实时音视频通话场景中,你可以通过声网 RTM SDK 或 RTC SDK 判断一个即将开始或正在进行的通话是语音通话还是视频通话。
如果需要在通话前进行判断并将通话类型发送给接收端,请确保你的项目中已经集成了 RTM SDK 和 RTC SDK。具体的集成文档请参考:
具体实现步骤如下:
sendMessageToPeer
方法把通话类型以点对点消息的方式发送给被叫。被叫在收到呼叫邀请时也会收到这条点对点消息,从而获取通话类型。如果需要在通话中进行判断并将通话类型发送给接收端,请确保你的项目中已经集成了 RTC SDK。具体的集成文档请参考:
在通话中,接收端可以直接通过以下方法判断通话类型:
onRemoteVideoStateChanged
回调,则可判断当前通话为视频通话。onRemoteVideoStateChanged
回调,且收到了 onRemoteAudioStateChanged
回调,则可判断当前通话为音频通话。本文提及的方法和回调名均为 Java 语言。其他语言对应的方法名如下表所示:
Java/C++ | Objective-C | JavaScript |
---|---|---|
sendMessageToPeer |
sendMessage:toPeer:sendMessageOptions:completion: |
sendMessage |
onRemoteAudioStateChanged |
remoteAudioStateChangedOfUid |
getRemoteAudioStats |
onRemoteVideoStateChanged |
remoteVideoStateChangedOfUid |
getRemoteVideoStats |