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

时间:2016-10-14 06:49:09

标签: ios m3u8

我正在使用M3U8Parser,但我在执行时遇到异常。

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

在infolist之后,我得到例外。

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

请帮助!

1 个答案:

答案 0 :(得分:1)

您需要在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];
    }

现在我已对该值进行了硬编码,您可以根据需要进行修改。