Cocoa webview - html5视频全屏无效

时间:2012-09-21 19:20:01

标签: objective-c cocoa webview webkit html5-video

我正在尝试使用集成的webkit webview构建一个osx cocoa应用程序来显示一个网页。

在网页上是html5视频元素,用户应该可以全屏播放。 但是全屏只是在山狮上显示黑屏(10.8.2)音频仍在播放,但在osx lion上它有效,这是一个错误还是我错过了什么。

最低样本:

步骤:

创建一个cocoa app添加webview连接属性“web”并添加webkit框架

代码:

#AppDelegate.h

#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet WebView *web;
@end

#AppDelegate.m

#import "AppDelegate.h"

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
  NSString *html = @"<html><body><video src=\"http://video-js.zencoder.com/oceans-clip.mp4\" controls></body></html>";
  [[self.web mainFrame] loadHTMLString:html baseURL:nil];
}
@end

在OSX 10.8.3中修复:

问题似乎已在OSX 10.8.3中得到解决全屏现在正在运行,即使没有像OSX 10.8.2之前那样使用沙盒

2 个答案:

答案 0 :(得分:1)

我使用您发布的确切代码设置了一个项目。这对我来说确实失败了,并且只在全屏模式下显示黑屏。

然而,这似乎是WebKit的沙盒问题。沙盒后,应用程序全屏按预期工作。 (使用10.8.2)

应用程序是沙盒,没有任何其他权限来完成这项工作:

enter image description here

答案 1 :(得分:-2)

你可以试试这个代码吗,希望它可以和你一起使用..这适用于iphone,我想它可以在osx上运行

头文件

UIWebView *webView;

实施档案

NSString *html = @"<html><body><video src=\"http://video-js.zencoder.com/oceans-clip.mp4\" controls></body></html>";

webView =[[UIWebView alloc] initWithFrame:CGRectMake(14, 57, 670, 675)];
        [webView loadHTMLString:html baseURL:nil];
[self.view addSubview:webView];