【发布时间】:2015-08-16 03:51:17
【问题描述】:
我有一个要部署到 android play 商店的 Ionic 应用程序,我的应用程序在 1 个选项卡上只有一个视频列表,然后当您单击其中一个视频时,它会在另一个选项卡中使用像这样的iframe
<div class="video-container">
<iframe id="VideoPlayer" ng-src="{{getIframeSrc(videoid)}}" frameborder="0" width="560" height="315" allowfullscreen></iframe>
</div>
这一切都很好。问题是由于 YoutubeAPI Google Play 商店政策,您不允许您的应用在后台播放 youtube 视频或音频,例如当您最小化您的应用或移动到另一个选项卡时。p>
实现这一目标的最佳方法是什么?我需要确保当您最小化或移动到另一个选项卡时,如果用户没有自己停止播放 youtube 视频,它将停止从 iframe 播放。
********更新********
我现在可以通过使用按钮调用此函数来停止视频
$scope.stopVideo = function() {
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;
iframe.postMessage('{"event":"command","func":"' + 'stopVideo' + '","args":""}', '*');
}
但是,这仅在我使用 Ionic Serve 进行测试时才有效,如果我在 Android 手机上运行相同的代码,我会收到参考错误:未定义 Div。不知道为什么这会在浏览器中工作,但在 Android 中运行时却不能在应用程序上工作。
我还需要在 Ionic 中了解如何在您可能没有查看应用程序的每个场景中调用此函数,因此要将应用程序关闭到后台,转到新选项卡,按后退按钮...有没有办法添加这个函数来为所有这些场景调用?
【问题讨论】:
-
使用 youtube JS API 你有一个叫做
Playback controls and player settings的东西,它给你一些功能来控制你的视频。如player.pauseVideo():Void暂停当前播放的视频。都在这里developers.google.com/youtube/iframe_api_reference -
嗨,Jeffery,感谢您的 cmets,您知道如何将其放入我的 ionic 应用程序中吗?例如,当应用程序被最小化或您转到另一个选项卡时,按下后退按钮然后触发您提到的 JS API?
-
我已经发布了类似的答案here。看看有没有用。
标签: angularjs youtube-api ionic-framework ionic