Trigger.io 中的内联视频播放
Posted
技术标签:
【中文标题】Trigger.io 中的内联视频播放【英文标题】:Inline Video Playback In Trigger.io 【发布时间】:2013-12-27 16:37:46 【问题描述】:有没有办法在不启动全屏的情况下播放视频? Trigger.IO API 显然没有设置它的选项,并且在 iPhone 上在 html5 视频标签中添加 'webkit-playsinline' 也是不够的,因为它需要将 'UIWebView' 的属性 'allowsInlineMediaPlayback' 设置为 '是的。
我希望 Trigger.IO 有某种选项来触发或关闭此属性...
附:看来Phone Gap已经支持了……
【问题讨论】:
【参考方案1】:您可以轻松编写自己的 native module 来更改 Trigger.io 应用程序中的 WebView 属性。该函数可能看起来很像这样:
+ (void)enableInlineMediaPlayback:(ForgeTask*)task
if (NSClassFromString(@"WKWebView") && [[ForgeApp sharedApp] useWKWebView])
// Handle new WebView
WKWebView *webView = (WKWebView*)[[ForgeApp sharedApp] webView];
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.allowsInlineMediaPlayback = YES;
webView.configuration = configuration;
else
// Handle old WebView
UIWebView *webView = (UIWebView*)[[ForgeApp sharedApp] webView];
webView.allowsInlineMediaPlayback = YES;
[task success:nil];
此外,您需要将webkit-playsinline
属性添加到视频HTML 标记中。
编辑:我已调整代码以包含 ios8 和 WKWebView 的相关代码。
【讨论】:
现在只需要学习如何去做:] 我期待重点是不要进入本机代码和 Xcode... 我猜有这么多用例,如果将它们全部添加,它真的会炸毁 Trigger.io 核心。但我同意你的观点,这仍然是一种痛苦。 我做到了 :] 效果很好,感谢您以正确的方式指导我! 很高兴听到这个消息!还有许多其他有用的属性可以很容易地更改;) 你知道这段代码现在是否会随着新的 ios8 版本而改变?以上是关于Trigger.io 中的内联视频播放的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 UIWebView 内联(不是全屏)中播放 youtube 视频吗?
在 Ionic/Phonegap 中内联播放视频(webkit-playsinline 不工作)
Ionic 3 - 内联视频在 iOS 10 的本机播放器中全屏打开