我使用tableview在相同的单元格中添加了几个视频。每个单元格都有自己的webview。使用以下代码在webview中播放视频
NSString *embedHTML = @"<html><head>\<style type=\"text/css\">\body {\background-color:transparent;\color: white;\}\</style>\<script>\function load({document.getElementById(\"yt\").play();}\</script>\</head><body onload=\"load()\"style=\"margin:0\">\<video id=\"yt\" src=\"%@\" \width=\"%0.0f\" height=\"%0.0f\" autoplay controls></video>\</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, urlString, videoView.frame.size.width, videoView.frame.size.height,thumbnailImageLink];
[videoView loadHTMLString:html baseURL:nil];
它绝对正常。它会显示带有播放按钮的缩略图视频。点击“播放”按钮可在全屏模式下打开视频播放器并显示所有控件。
现在的主要问题是 当我按下完成按钮时,全屏模式消失嗯,这是预期的
但视频的下载仍在继续。 一点都不好
所以说, 我打开了Video1然后按下Done按钮,然后我打开了video2但是因为video1仍在下载,所以video2的上网速度越来越慢。
所以问题是,当按下全屏上的完成按钮时,有没有强行停止下载?
注意:有一个视频列表,即 n videos = n webviews 因此无法检测播放视频的网页视图。如果我能够访问webview,那么我会重新加载它以便下载可以停止并获得新内容,直到我点击缩略图才开始。
更具体我可以在播放视频和使用
按下完成按钮时访问[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayStarted:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayFinished:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil];
可以通过
访问BOOL isVideoInFullScreenMode;
-(void)videoPlayStarted:(NSNotification *)notification{
//Your stuff here
isVideoInFullScreenMode = YES;
}
-(void)videoPlayFinished:(NSNotification *)notification{
//Your stuffs here
isVideoInFullScreenMode = NO;
}
答案 0 :(得分:1)
您无法控制网页视图中发生的情况。 我认为这是一个设计问题。 Webview并不是所有人的神奇疗法。如果要控制代码,则需要自己编写代码。 我也希望你用苹果(http://bugreporter.apple.com)对此进行窃听。