如何暂停或停止在后台播放Ionic YouTube应用

时间:2018-09-03 17:35:54

标签: angular ionic-framework

当我按下手机上的主屏幕和屏幕锁定按钮时,我想停止在后台播放youtube视频。

我正在使用iframe加载youtube视频:

<iframe src="https://www.youtube.com/embed/gvI2ClWqHO0" frameborder="0" width="560" height="315"></iframe>

我使用以下代码停止运行,但失败了:

ionViewWillLeave() {
this.platform.exitApp();
}

当我从设备上按下时,如何避免单击“锁定”按钮?

3 个答案:

答案 0 :(得分:0)

您可以通过JAVASCRIPT实现:

jsCode() {
  //something here 
 }


      <WebView
          source={webapp}
          ref="WEBVIEW_REF"
          onNavigationStateChange={this.onNavigationStateChange}
          style={webView}
          startInLoadingState
          injectedJavascript={this.jsCode.bind(this)}
          javaScriptEnabled={true}
          domStorageEnabled={true}
          decelerationRate="fast"
        />

您还可以将鳕鱼转换为角度服务并使用。

有关更多信息,请参见:https://developers.google.com/youtube/iframe_api_reference#Getting_Started

答案 1 :(得分:0)

I tried with Ionic Insomnia and it worked :

<code>
import { Insomnia } from '@ionic-native/insomnia';

constructor(private insomnia: Insomnia) { }

...

this.insomnia.keepAwake()
  .then(
    () => console.log('success'),
    () => console.log('error')
  );

</code>

答案 2 :(得分:0)

适用于Ionic版本1

  1. 添加到

    app.run(function(){
    document.addEventListener('deviceready', function () {
                // cordova.plugins.backgroundMode is now available
                console.log("Device ready !!!");
            }, false);
    
    
        document.addEventListener("pause", function () {
            if ($rootScope.YTPlayer) {
                $rootScope.YTPlayer.stopVideo();
            }
        }, false);
    

    })

然后添加控制器

$scope.$on('youtube.player.ready', function ($event, player) {
                $rootScope.YTPlayer = player;
            });