我有一个使用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启动,而是启动自定义播放器。