2016-10-14 11 views
0

M3U8Parserを使用していますが、実行中に例外が発生しています。iOSプレーヤーで別のビデオストリームを取得したい

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' 

Pls help!

+0

'm3u8SegementInfoListValue'(NSString + m3u8.h'ファイル内)のメソッドにブレークポイントを設定します。これは、https://github.com/dayZh/M3U8Kitを使用していると思いますので、正確にクラッシュする箇所を確認してください。 – Larme

答えて

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]; 
    } 

、あなたの要件に合わせて変更することができます。

関連する問題