我正在尝试运行本地GCDWebServer来提供我从服务器本地存储的M3U8文件.我解析了文件并将每个.ts文件保存到本地存储.现在我正试图通过本地Web服务器提供该文件,但我无法使用MPMoviePlayerController或AVPlayerViewController来播放该文件.
这是我的服务器代码:
webServer = [[GCDWebServer alloc] init]; [webServer addDefaultHandlerForMethod:@"GET" requestClass:[GCDWebServerRequest class] processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docDirectory = [paths objectAtIndex:0]; NSString *textPath = [docDirectory stringByAppendingPathComponent:@"localPlaylist.m3u8"]; return [GCDWebServerDataResponse responseWithData:[NSData dataWithContentsOfFile:textPath] contentType:@".m3u8"]; }]; [webServer startWithPort:8080 bonjourName:nil];
以及我随后尝试播放代码:
AVPlayerViewController *newPlayer = [[AVPlayerViewController alloc] init]; newPlayer.player = [[AVPlayer alloc]initWithURL:webServer.serverURL]; [self presentViewController:newPlayer animated:YES completion:nil];
我正在提供本地m3u8文件的方式有什么问题吗?此外,运行本地Web服务器是一种托管内容的安全方式吗?