当前位置:  开发笔记 > IOS > 正文

如何通过GCDWebServer在iOS上播放本地M3u8文件

如何解决《如何通过GCDWebServer在iOS上播放本地M3u8文件》经验,为你挑选了0个好方法。

我正在尝试运行本地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服务器是一种托管内容的安全方式吗?

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有