2012-09-21 38 views
5

我想建立一個集成的webkit webview的osx可可應用程序來顯示一個網頁。可可webview - html5視頻全屏不工作

在網頁上是用戶應該能夠全屏播放的html5視頻元素。 但全屏只顯示山獅(10.8.2)上的黑屏,音頻仍在播放,但它在osx獅子上工作,這是一個錯誤還是我錯過了一些東西。

最小樣品:

步驟:

創建一個可可應用程序添加網頁視圖連接屬性 「網絡」,然後添加的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

+1

我可以證實這個錯誤,它一直工作到10.8.1,所以一直最新更新中的更改。 – Conor

+1

A提交了一個蘋果報告,讓我們拭目以待 – tripplet

+0

非常好,我也是。填充重複項是提供錯誤優先級的幾種方法之一。 – Conor

回答

1

我的設置與您發佈確切的代碼的項目。這對我來說確實失敗了,只在全屏模式下顯示黑屏。

但是,這似乎是WebKit的沙盒問題。沙盒後,應用程序全屏按預期工作。 (使用10.8.2)

該應用程序是沒有使這項工作所需的任何額外的權限沙箱:

enter image description here

+0

它適用於演示代碼,但如果啓用「允許傳出連接」,我需要爲我的應用允許傳出連接。我回到黑色全屏接受答案,因爲它解決了發佈的問題。但我希望有人知道允許傳出連接的解決方案 – tripplet

-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]; 
+0

UIWebView在OSX上不可用 – tripplet