bilibili / flv.js

HTML5 FLV Player
Apache License 2.0
22.93k stars 3.38k forks source link

如何监听没有码流了?能不能举一个详细一点的例子? #318

Open tshug opened 6 years ago

tshug commented 6 years ago

如何监听没有码流了?能不能举一个详细一点的例子?

tshug commented 6 years ago

flvjs.Events 怎么个用法?能不能举一个详细的例子?

GitCHQL commented 6 years ago

flvPlayer.on(event,function(){...})

tshug commented 6 years ago

例如呢? event应该填写什么呢?@GutCHQL

tshug commented 6 years ago

感觉不起作用。

GitCHQL commented 6 years ago

或者用demo里的 flvjs.LoggingControl.addLogListener(function(type, str) {

    });
tshug commented 6 years ago

麻烦你来一个完整的,有时候就是不知道如何传参数

GitCHQL commented 6 years ago

上一个是不用传参数的,你可以这样 flvjs.LoggingControl.addLogListener(function(type,str){ console.log(type+str); }); 输出所有log找到自己能用的str,加一个if判断来做。

断流我感觉是服务器判断会更好

GitCHQL commented 6 years ago

flvPlayer.on(flvjs.Events.LOADING_COMPLETE,function(){ //断流后做的 })

xqq commented 6 years ago

怎样算是没有码流了?能不能描述一下具体现象?http连接状态?报错信息?Console/Network 数据?

遇到问题自己多思考一步,源码点进去看一步,issue 区搜一搜。

issue 区帖子是会邮件广播 watchers 全员的,到处刷屏烦不烦?

tshug commented 6 years ago

连接正常,无错误,其实就是服务端没有给客户端发流了。这个时候我们需要客户端主动发起断线重连。

不要烦。

AnClark commented 6 years ago

插一句题外话。看了@xqq 谦谦大佬的发言,顿时想到一年多前我被GitHub上一些大佬怼过的日子。。。这里的Issues功能是雷,失足一步会被怼的体无完肤。

顺便留意一下右边的Unsubscribe按钮。

13810874921 commented 4 years ago

flvjs.on("error", err => { // err==NetworkError监听url地址错误,可用于处理断线重连逻辑 }); flvjs.LoggingControl.addLogListener((res,desc)=>{ //res==error,warn 日志的监听 //打印日志,看你想用视频的哪个状态处理哪些逻辑 })

DrLambs commented 4 years ago
this.flvPlayer.on(flvjs.Events.ERROR, (errorType, errorDetail, errorInfo) => {
        console.log('errorType:', errorType);
        console.log('errorDetail:', errorDetail);
        console.log('errorInfo:', errorInfo);
        // 如果视频播放出错就销毁player,用当前的url重新创建一个
        if (this.flvPlayer) {
          this.flvPlayer.destroy();
          if (this.count < 2) {
            this.createFlvPlayer(videoElement, this.props.url);
          }
        }
      },
    );

#532

kinger906 commented 3 years ago
this.flvPlayer.on(flvjs.Events.ERROR, (errorType, errorDetail, errorInfo) => {
        console.log('errorType:', errorType);
        console.log('errorDetail:', errorDetail);
        console.log('errorInfo:', errorInfo);
        // 如果视频播放出错就销毁player,用当前的url重新创建一个
        if (this.flvPlayer) {
          this.flvPlayer.destroy();
          if (this.count < 2) {
            this.createFlvPlayer(videoElement, this.props.url);
          }
        }
      },
    );

#532

谢谢回复,解决了我的问题