0

以前にも同様の質問がありましたが、解決策が見つかりませんでした。

bundle から m3u8 ファイルを再生しようとしています。http で正常にストリーミングしましたが、バンドルから映画を再生する必要があり、http ライブストリーミングを使用したかったのです。

4

1 に答える 1

0

ステップ 1: ファイルをダウンロードして保存する

NSError *err = nil;
NSString *url = [[NSString stringWithFormat:@"http://www.example.com/playlist.m3u8"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *the_file = [NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:&err];
if(err != nil) {
    // do some error handling, e.g. NSLog(@"Fail: %@", [err localizedDescription]);
} else {
    // save the file ( see Step 2 )
}

ステップ 2 : ファイルを保存する

ファイルとして保存するか、オブジェクトとして保存できます。

// ファイルとして保存

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"%@/playlist.m3u8", docDirectory];
[the_file writeToFile:fileName atomically:NO encoding:NSASCIIStringEncoding error:nil];

// OR, save as object
[[NSUserDefaults standardUserDefaults] setObject:the_file forKey:@"MY_M3U8"];

ステップ 3 : ファイルを読み取る

// read from file 
NSString *textPath = [docDirectory stringByAppendingPathComponent:@"playlist.m3u8"];
// the FILE is loaded


// OR, read from object
NSString *content = [[NSUserDefaults standardUserDefaults] stringForKey:@"MY_M3U8"];
// it will contain the CONTENT of file

ステップ 4 : プレーヤーで再生する

于 2013-06-05T05:07:04.280 に答える