我正在尝试使用集成的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.2之前那样使用沙盒
答案 0 :(得分:1)
我使用您发布的确切代码设置了一个项目。这对我来说确实失败了,并且只在全屏模式下显示黑屏。
然而,这似乎是WebKit的沙盒问题。沙盒后,应用程序全屏按预期工作。 (使用10.8.2)
应用程序是沙盒,没有任何其他权限来完成这项工作:
答案 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];