[英]Why only works the first video call on Android SDK QuickBlox?
[英]Why only works the first video call on Android SDK QuickBlox 3.3.1?
我正在開發一個包含視頻聊天服務(使用QuickBlox的SDK )的Android應用。 在第一個接聽的電話上一切正常,但是在掛斷視頻通話后,設備無法再接聽更多電話。
唯一可疑的消息錯誤是:
E /類com.xxxx.xxxx.services.CallService:Ping聊天服務器失敗
而且webrtc.Logging
檢測第二個或更多來電,但不會顯示來電片段。
我正在使用QuickBlox SDK版本3.3.1
如果您使用的是WebRtcSessionManager,則需要在通話斷開時重置會話。
public class SessionManager extends QBRTCClientSessionCallbacksImpl {
private static SessionManager instance;
private Context context;
private static QBRTCSession currentSession;
private SessionManager(Context context) {
this.context = context;
}
public static SessionManager getInstance(Context context){
if (instance == null){
instance = new SessionManager(context);
}
return instance;
}
public QBRTCSession getCurrentSession() {
return currentSession;
}
public void setCurrentSession(QBRTCSession qbCurrentSession) {
currentSession = qbCurrentSession;
}
@Override
public void onReceiveNewSession(QBRTCSession session) {
Log.d(TAG, "onReceiveNewSession to SessionManager");
}
@Override
public void onSessionClosed(QBRTCSession session) {
Log.d(TAG, "onSessionClosed SessionManager");
if (session.equals(getCurrentSession())){
setCurrentSession(null);
}
}
}
如果收到ping錯誤,即服務器沒有響應。請嘗試手動Ping並驗證錯誤代碼。
QBPingManager pingManager = QBChatService.getInstance().getPingManager();
pingManager.pingServer(new QBEntityCallback<Void>() {
@Override
public void onSuccess() {
}
@Override
public void onError(QBResponseException error) {
// Validate the error code here
}
});
如果您仍然遇到問題。 我認為您在配置中缺少某些內容。 如下配置。
QBChatService.ConfigurationBuilder chatServiceConfigurationBuilder=buildChatConfigs();
QBChatService.setConfigurationBuilder(chatServiceConfigurationBuilder);
構建配置方法是。
public static QBChatService.ConfigurationBuilder buildChatConfigs() {
QBChatService.ConfigurationBuilder configurationBuilder = new QBChatService.ConfigurationBuilder();
configurationBuilder.setSocketTimeout(60);
configurationBuilder.setUseTls(true);
configurationBuilder.setKeepAlive(true);
configurationBuilder.setAutojoinEnabled(true);
configurationBuilder.setAutoMarkDelivered(false);
configurationBuilder.setReconnectionAllowed(true);
configurationBuilder.setAllowListenNetwork(true);
return configurationBuilder;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.