Open guodetm opened 7 years ago
因为停止推流之后,推流线程被停止了。所以这样 原始代码 ` /**
停止发布 */ public void stopPublish() { Runnable runnable = new Runnable() { @Override public void run() { mRtmpPublisher.stop(); isPublish = false;
loop = false;
if (workThread != null) {
workThread.interrupt();
}
}
};
mRunnables.add(runnable);
} `
我的修改方式是:MediaPublisher.init()这个方法由startPublish()调用。 ` /**
发布 */ public void starPublish() { if (isPublish) { return; }
init();
if (videoParams == null || audioParams == null) {
Log.w(TAG, "video param or audio param is null");
return;
}
Runnable runnable = new Runnable() {
@Override
public void run() {
//初始化
int ret = mRtmpPublisher.init(mConfig.publishUrl,
videoParams.previewWidth,
videoParams.previewHeight, mConfig.timeOut);
if (ret < 0) {
Log.e(TAG, "连接失败");
return;
}
isPublish = true;
}
};
mRunnables.add(runnable);
} `
我用的是推流端的示例代码,再第二次点击开始按钮的时候接收端就接收不到推流了,能麻烦看下是什么问题吗,谢谢。 就是调用了stop()方法之后再调用start()方法就推流不上去了,程序没有报错。