Android 呼叫服务类说明
CallService 获取
UserAgentProxy proxy = UserAgentProxy.getInstance();
......
CallService callService = proxy.getCallService();
CallService 说明
public class CallService {
/**
* 设置呼叫处理的回调
* @param listener 回调处理实现类
*/
public synchronized void setCallListener(CallListener listener){}
/**
* 发起视频呼叫
* @param peerUserID 对方用户ID
* @param roomid 标识一次呼叫的唯一ID
* @param extraData 附加信息
* @return
*/
public boolean videoCall(String peerUserID, String roomid, byte[] extraData){}
/**
* 发起音频呼叫
* @param peerUserID 对方用户ID
* @param roomid 标识一次呼叫的唯一ID
* @param extraData 附加信息
* @return
*/
public boolean audioCall(String peerUserID, String roomid, byte[] extraData){}
/**
* 接听视频呼叫
* @param extraData 附加信息
* @return
*/
public boolean acceptVideo(byte[] extraData){}
/**
* 接听音频呼叫
* @param extraData
* @return
*/
public boolean acceptAudio(byte[] extraData){}
/**
* 拒绝来电
* @return
*/
public boolean reject(){}
/**
* 挂断电话
* @return
*/
public boolean hangup(){}
/**
* 电话忙
* @return
*/
public boolean busyCall(){}
/**
* 获取本次通话流量
* @param sendBytes
* @param recvBytes
* @return
*/
public boolean getTransferFlow(long[] sendBytes, long[] recvBytes){}
/**
* 获取本地电话的roomID
* @return
*/
public String getRoomId(){}
/**
* 游戏呼叫
* @param peerUserID 对方用户ID
* @param roomid 标识一次呼叫的唯一ID
* @param gameId 业务自定义的游戏ID
* @param mediaType 游戏呼叫使用音频或视频
* @param extraData 附加信息
* @return
*/
public boolean inviteGame(String peerUserID, String roomid, int gameId, int mediaType, byte[] extraData){}
/**
* 接听游戏呼叫
* @param peerUserID 对方用户ID
* @param gameId 游戏ID
* @param mediaType 游戏呼叫使用音频或视频
* @param extraData 附加信息
* @return
*/
public boolean acceptGame(String peerUserID, int gameId, int mediaType, byte[] extraData){}
/**
* 拒绝游戏呼叫
* @param peerUserID 对方用户ID
* @param gameId 游戏ID
* @param mediaType 游戏呼叫使用音频或视频
* @return
*/
public boolean rejectGame(String peerUserID, int gameId, int mediaType){}
/**
* 挂断游戏电话
* @param peerUserID 对方用户ID
* @param gameId 游戏ID
* @param mediaType 游戏呼叫使用音频或视频
* @param extraData 附加信息
* @return
*/
public boolean hangupGame(String peerUserID, int gameId, int mediaType, byte[] extraData){}
/**
* 启用接口
* @param peerUserID
* @param roomId
* @param gameId
* @param mediaType
* @return
*/
public boolean pushCallIncoming(String peerUserID, String roomId, int gameId, int mediaType){}
/**
* 设置本地支持的 Audio SDP
* @param sdp
* @return
*/
public boolean setSDP(String sdp){}
/**
* 群视频呼叫请求
* @param groupID 群组ID
* @param roomid 标识一次呼叫的唯一ID
* @param ssrc 流标识
* @param csrc 用户在群中的标识
* @param relayServer turn server 列表
* @param extraData 附加信息
* @return
*/
public boolean groupCall(String groupID, String roomid, int ssrc, int csrc, String relayServer, byte[] extraData){}
/**
* 挂断群组呼叫
* @param groupID 群组ID
* @param extraData 附加信息
* @return
*/
public boolean groupHangup(String groupID, byte[] extraData){}
/**
* 探测群呼叫最优 turn server
* @param roomId
* @param timeout 探测超时时间
* @return
*/
public boolean getRelayServer(String roomId, int timeout){}
}
CallListener 说明
public interface CallListener {
/**
* 收到视频呼叫时回调
* @param status 总是 0
* @param peerUserID 呼叫方的用户ID
* @param extraData 呼叫方携带的扩展数据
*/
void videoIncoming(int status, String peerUserID, byte[] extraData);
/**
* 收到语音呼叫时回调
* @param status 总是 0
* @param peerUserID 呼叫方的用户ID
* @param extraData 呼叫方携带的扩展数据
*/
void audioIncoming(int status, String peerUserID, byte[] extraData);
/**
* 对方挂断通话时回调
* @param status 总是 0
* @param peerUserID 对方的用户ID
*/
void hangup(int status, String peerUserID);
/**
* 对方忙时(正在和其他人通话)回调
* @param status 总是 0
* @param peerUserID 对方的用户ID
*/
void busy(int status, String peerUserID);
/**
* 对方接受己方视频呼叫时回调
* @param status 总是 0
* @param peerUserID 呼叫方的用户ID
* @param extraData 呼叫方携带的扩展数据
*/
void videoAccept(int status, String peerUserID, byte[] extraData);
/**
* 对方接受己方语音呼叫时回调
* @param status 总是 0
* @param peerUserID 呼叫方的用户ID
* @param extraData 呼叫方携带的扩展数据
*/
void audioAccept(int status, String peerUserID, byte[] extraData);
/**
* 对方拒绝了己方呼叫时回调
* @param status 总是 0
* @param peerUserID 对方的用户ID
*/
void reject(int status, String peerUserID);
/**
* 呼叫接通,并且可以开始收发音视频数据时回调
* @param status 总是 0
* @param peerUserID 对方用户ID
* @param call_type 呼叫类型
* @param peer_nettype 对方网络类型
* @param cpuLevel 对方CPU Level
* @param screen_aspect 对方屏幕宽高比
* @param peer_sdp 对方呼叫 SDP 参数
* @param peer_os 对方系统类型
* @param voip_sdp 音视频 SDP 参数
* @param recommendBitrate 建议的视频比特率
*/
void sendMediaDataStart(int status, String peerUserID, CallType call_type, NetworkType peer_nettype, int cpuLevel, int screen_aspect, String peer_sdp, String peer_os, String voip_sdp, int recommendBitrate);
void missVideoCall(int status, String peerUserID, byte[] extraData, String roomId);
void missAudioCall(int status, String peerUserID, byte[] extraData, String roomId);
void peerOffline(int status, String peerUserID);
/**
* 对方同时在呼叫己方时回调
* @param status 总是 0
* @param peerUserID 对方用户ID
* @param extraData 扩展数据
*/
void callAcceptTogether(int status, String peerUserID, byte[] extraData);
/**
* 呼叫请求服务器收到时回调
* @param status 总是 0
* @param peerUserID 对方用户ID
*/
void serverAckCall(int status, String peerUserID);
/**
* 呼叫请求对方收到时回调
* @param status 总是 0
* @param peerUserID 对方用户ID
*/
void peerAckCall(int status, String peerUserID);
}