【问题标题】:Cocoa webview - html5 video fullscreen not workingCocoa webview - html5视频全屏不起作用
【发布时间】:2012-09-14 06:03:03
【问题描述】:

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

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

最小样本:

步骤:

创建一个可可应用添加一个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 之前那样的沙盒

【问题讨论】:

  • 我可以确认这个错误并且它在 10.8.1 之前一直有效,所以最近的更新发生了变化。
  • A向苹果提交了但报告,让我们拭目以待
  • 太好了,我也做到了。填充重复项是赋予错误优先级的少数方法之一。
  • 我也是这么做的。无论如何,我很高兴不是我的代码与 HTML5 视频崩溃:)
  • 苹果半天终于回复:是#12313594的重复,我的bug id是#12412325。但没有关于解决方法或任何其他建议的说法。有人知道下一步该怎么做吗?

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


【解决方案1】:

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

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

该应用是沙盒,无需任何额外权限即可完成这项工作:

【讨论】:

  • 它适用于演示代码,但我需要允许我的应用程序的传出连接,如果我启用“允许传出连接”,我会回到黑色全屏,接受作为答案,因为它解决了发布的问题。但我希望有人知道允许传出连接的解决方案
【解决方案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];

【讨论】:

  • UIWebView 在 osx 上不可用
猜你喜欢
  • 1970-01-01
  • 2013-08-23
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多