ksvc / KSYMediaPlayer_iOS

金山云iOS播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds)
http://v.ksyun.com/
Apache License 2.0
565 stars 145 forks source link

网络切换的状态不对 #38

Closed feng520ckx closed 7 years ago

feng520ckx commented 7 years ago

监听 MPMoviePlayerNetworkStatusChangeNotification 通知,在通知里去获取当前播放器的networkStatus,拿到的值是上一次的网络状态,与当前网络不一致。

测试案例 ,蜂窝移动网络关闭,wifi打开,播放视频,然后关闭wifi,这个时候的网络状态应该是不可用的,但是返回的状态还是wifi状态,然后再打开wifi,这个时候返回的状态就是不可用的状态了,但此时网络状态应该是wifi才对。

shixuemei commented 7 years ago

呃,MPMoviePlayerNetworkStatusChangeNotification消息发出去后才去改变的networkStatus, 如果只想在监听的时候得知网络状态,建议使用监听时的userInfo,即可以知道变化前的网络状态,也可以知道变化后的网络状态

    if(MPMoviePlayerNetworkStatusChangeNotification == notify.name)
    {
        int currStatus = [[[notify userInfo] valueForKey:MPMoviePlayerCurrNetworkStatusUserInfoKey] intValue];
        int lastStatus = [[[notify userInfo] valueForKey:MPMoviePlayerLastNetworkStatusUserInfoKey] intValue];
        NSLog(@"network reachable change from %@ to %@ %d\n", [self netStatus2Str:lastStatus], [self netStatus2Str:currStatus], _player.networkStatus);
    }