LiveStream icon indicating copy to clipboard operation
LiveStream copied to clipboard

问一下,第二次再推流的时候就没反应了

Open guodetm opened this issue 8 years ago • 1 comments

我用的是推流端的示例代码,再第二次点击开始按钮的时候接收端就接收不到推流了,能麻烦看下是什么问题吗,谢谢。 就是调用了stop()方法之后再调用start()方法就推流不上去了,程序没有报错。

guodetm avatar Aug 22 '17 02:08 guodetm

因为停止推流之后,推流线程被停止了。所以这样 原始代码 ` /** * 停止发布 */ 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);
}

`

chenyayun avatar Jan 18 '18 07:01 chenyayun