1

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

4

0 回答 0