Я пытаюсь запустить локальный GCDWebServer для работы с файлом M3U8, который я сохранил локально с сервера. Я проанализировал файл и сохранил каждый файл .ts в локальном хранилище. Теперь я пытаюсь обслуживать этот файл через локальный веб-сервер, но я не могу заставить файл играть с помощью MPMoviePlayerController или AVPlayerViewController.Как играть в локальные файлы M3u8 на iOS через GCDWebServer
Вот мой код сервера:
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? Кроме того, работает ли локальный веб-сервер безопасным способом размещения контента?
У вас есть какой-либо успех, чтобы играть в локально сохраненный файл m3u8 и зашифрованные/расшифрованные фрагменты? В настоящее время я работаю над одним потоком, нуждаюсь в некоторых рекомендациях. –