我想在 iOS 播放器中获得不同的视频流

I want to get different video streams in iOS player

我正在使用 M3U8Parser,但在执行时出现异常。

NSString *plainString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
infolist = [M3U8Parser m3u8SegmentInfoListFromPlanString:plainString];

在信息​​列表之后,我遇到了异常。

reason: '-[__NSCFString substringWithRange:]: Range {10, 9223372036854775797} out of bounds; string length 36'

请帮忙!

您需要对 NSString+m3u8.m 进行一些更改:

if(NSNotFound != bandwidthRange.location) {
        NSString *value;
    // issue fixed
                if (commaRange.length == 0)
                {
                    value = [substring substringFromIndex:10];

                }
                else
                {
                    value = [substring substringWithRange:NSMakeRange(bandwidthRange.length+1, commaRange.location - (bandwidthRange.length+1))];
                }
        [params setValue:value forKey:keyM3U8SegmentBandwidth];
    }

现在我已经硬编码了这个值,你可以根据你的要求修改。