我有一个使用 AVFoundation 库构建的自定义播放器(包含一些自定义流逻辑和控件)。播放器未使用 MPMoviePlayerController 类。在 UIWebView 内部,有一些逻辑(可能是内容类型)检测是否需要启动电影播放器,默认情况下它会启动 MPMoviePlayerController。根据要求,我需要启动我拥有的自定义播放器。
PS:自定义 MPMoviePlayerController 可能是一个选项,但我想将它坚持到自定义 NSURLProtocol 类,不幸的是 MPMoviePlayerController 没有。
我创建了一个自定义NSURLProtocol
类,其中包含以下方法:
-(void)didReceiveResponse:(NSHTTPURLResponse *)response {
if (response) {
[self.client URLProtocol: self didReceiveResponse: response cacheStoragePolicy: NSURLCacheStorageNotAllowed];
}
}
在这个方法中,我正在检查内容类型
NSString *contentType = [[response allHeaderFields] valueForKey:@"Content-Type"];
我得到不同的内容类型 - mp4/vtt/flv 等。我正在考虑从这里启动自定义播放器。但我观察到的是 MPMoviePlayerController 已启动。有什么方法可以阻止 MPMoviePlayerController 启动,而是启动自定义播放器。