-
Notifications
You must be signed in to change notification settings - Fork 209
ReStreaming
xiaoxiaochupei edited this page May 25, 2017
·
1 revision
SDK本身不会自动重连。在连接失败或连接中断时,可以在收到对应的错误回调时进行重连。 重连的策略可以自定义。 不需要主动停止推流,SDK本身会在异常情况下主动关闭连接并释放相应的资源
代码示例(v3.xDemo中CameraActivity的mOnErrorListener)
public OnStatusListener mOnErrorListener = new OnStatusListener() {
@Override
public void onStatus(int what, int arg1, int arg2, String msg) {
// msg may be null
if (msg != null && what < 0) {
// 可以在这里处理断网重连的逻辑
if (TextUtils.isEmpty(mUrl)) {
mStreamer
.updateUrl("rtmp://test.uplive.ksyun.com/live/androidtest");
} else {
mStreamer.updateUrl(mUrl);
}
if (!executorService.isShutdown()) {
executorService.submit(new Runnable() {
@Override
public void run() {
boolean needReconnect = true;
try {
while (needReconnect) {
Thread.sleep(3000);
//只在Activity对用户可见时重连
if (mAcitivityResumed) {
if (mStreamer.startStream()) {
recording = true;
needReconnect = false;
}
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
if (mHandler != null) {
mHandler.obtainMessage(what, msg).sendToTarget();
}
}
};