【问题标题】:Inline Video Playback In Trigger.ioTrigger.io 中的内联视频播放
【发布时间】:2023-04-03 22:00:01
【问题描述】:

有没有办法在不启动全屏的情况下播放视频? Trigger.IO API 显然没有设置它的选项,并且在 iPhone 上在 HTML5 视频标签中添加 'webkit-playsinline' 也是不够的,因为它需要将 'UIWebView' 的属性 'allowsInlineMediaPlayback' 设置为 '是的。

我希望 Trigger.IO 有某种选项来触发或关闭此属性...

附:看来Phone Gap已经支持了……

【问题讨论】:

    标签: ios html video uiwebview trigger.io


    【解决方案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 版本而改变?
    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 2019-12-25
    • 2011-10-23
    • 2020-03-20
    • 2017-10-08
    • 1970-01-01
    • 2014-05-06
    • 2016-03-13
    相关资源
    最近更新 更多