Corona SDK - 尝试将视频全屏显示到webview中

时间:2015-12-05 23:27:13

标签: ios iphone webview lua corona

我试图将视频显示在网页视图中而不是全屏显示在iphone上。 我已经阅读了我在堆栈上发现的每个帖子,但我仍然有问题。 在ipad中一切都很完美,但在iphone中则不然。 我认为这不能正常运作:

webView:setNativeProperty( "allowsInlineMediaPlayback", true )

此处有关于https://docs.coronalabs.com/api/type/NativeDisplayObject/setNativeProperty.html

的文档

我的lua代码:

local webView = native.newWebView( display.contentCenterX, display.contentCenterY, display.contentWidth, display.contentHeight )
webView:setNativeProperty( "allowsInlineMediaPlayback", true )
webView:setNativeProperty( "mediaPlaybackRequiresUserAction", false )
webView:request( "example_full.html", system.ResourceDirectory )

local function webViewListener(event)    
  if event.type then
    print( "The event.type is " .. event.type ) -- print the type of request
    if (event.type == "other") then
      if event.url == "js-call:myEvent" then
        print("ciao")
        webView:removeSelf()
        webView = nil
      end
    end
  end
  if event.errorCode then
    native.showAlert( "Error!", event.errorMessage, { "OK" } )
  end
end
   webView:addEventListener( "urlRequest", webViewListener )

我的html文件:

<!DOCTYPE html>
<html>
<head>
    <title>HTML5 InStream Ad Framework - Simple Video Page</title>
    <script type="text/javascript" src="instreamapi-2.1.2.min.js"></script>
</head>
<body>
<div style="position:relative">
    <video id="vid1" width="100%" height="100%" style="background-color:black" poster="http://cdn.smartclip.net/html5framework/smartclip_multisreen.png" controls url="" playsinline webkit-playsinline>
           <source src="media/bbb_trailer_iphone.mp4" type="video/mp4"/>
        <source src="media/bbb_trailer_iphone.ogv" type="video/ogg"/>
        <source src="media/bbb_trailer_iphone.webm" type="video/webm"/>
    </video>
</div>
<script type="text/javascript" language="javascript"> 
    window.onload = (function () {
                    var myAdConfig = {
                    preroll: 'http://des.smartclip.net/ads?t=de&p=9372&pl=testc&test=ms_vast2_socialmenu&sz=400x320&rnd=[random]',
                    overlayDelay:3,
                    overlayDuration:25,
                    adCountdownText:'This ad remains [time] seconds',
                     onFinish: function()
                        {
                            //console.log("ciao");
                            //window.location = "js-call:myObjectiveCFunction"
                            window.location.href = "js-call:myEvent";
                        }
                    }

                    $ad('vid1', myAdConfig).start();
    });
</script> 
</body>
</html>

我是一个有目标的工作项目,但是我不能让它与电晕同时使用电晕企业。 我希望有人可以帮助我,或告诉我关于使用Corona Enterprise的其他信息。{/ p>

非常感谢你的帮助,对不起我的英语。

费德里卡

1 个答案:

答案 0 :(得分:0)

我找到了Corona Support的解决方案。 这就是他们告诉我的:

  

您好!感谢您报告此事。出于某些神秘的原因   object:setNativeProperty和object:getNativeProperty设置为   使用点语法而不是对象样式调用。基本上,如果你   尝试做webView.setNativeProperty(“allowsInlineMediaPlayback”,真的   ),一切都应该有效。 (差异是“。”而不是“:”)这个   将在即将发布的版本中修复,但是,我们仍将支持   用于向后兼容性原因的点语法。维拉德。