HTTP Live Streaming -Play from Bundle



以前也有人问过类似的问题,但我从来没有找到解决办法。

我正在尝试从bundle中播放m3u8文件。我已经流式传输它成功通过http,但我真的需要从bundle播放电影,并想使用http直播。

第一步:下载文件&保存

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:在播放器中播放

相关内容

  • 没有找到相关文章

最新更新