嵌入在UIWebView中的MPMoviePlayerController中的视频流

我想知道如何在iOS中嵌入UIWebView的MPMoviePlayerController中执行网络流式传输。 它使用套接字还是其他方法执行?

首先请理解我的问题,我在UIWebView中播放youtube视频。 当视频加载并开始播放时,MPMoviePlayerController(或类似的东西)会自动实例化。 现在的事情是我想通过我的代理服务器通过所有的URL和一些私人消息。 我正在使用以下方法:

方法1

创建我自己的自定义NSURLProtocol类并拦截每个请求,然后打开一个套接字,编写我的私人消息,然后写入GET / POST消息并将响应传递给webview。 一切工作正常。 但是当视频开始播放时,我们并没有收到网址请求,所以很难追踪网址是通过我的代理。

我已经阅读过,因为MPMoviePlayerController不符合NSURLProtocol,所以我们无法拦截通过视频控制器的请求流。 链接在这里:

如何使用自定义NSURLProtocol通过URL播放电影?

方法2

我重写connect(),write()和read()方法,然后打印日志以查找视频数据是否正在流过read()和write()方法。 但是我仍然没有得到理想的结果。 我的所有其他网络请求通过这些重写方法,但只有VideoData不显示,这意味着MPMoviePlayerController不使用套接字和读取,写入方法。 或者Webview在内部启动另一个进程来实例化Player。

我如何确保MPMoviePlayerController没有在内部创建新的进程。

如果任何人有一个想法如何实现这一点,PLZ份额。 任何帮助表示赞赏。 我陷入了这一点。


您可以通过实施本地服务器来实现这一点。 而不是直接播放网络流,让它通过本地服务器并重定向它。 这样,您也可以使用自己的自定义NSURLProtocol 。 我也使用这种方法实现HLS流的缓存协议。 你可以在这里试试。也可以参考CocoaHTTPServer

链接地址: http://www.djcxy.com/p/34845.html

上一篇: Video streaming in MPMoviePlayerController embedded in UIWebView

下一篇: NSURLProtocol isn't asked to load after YES response to canInitWithRequest