Ionic v3 Youtube视频播放器对象(...)不是函数

时间:2019-06-11 17:37:58

标签: angular ionic-framework ionic3

我在这里尝试了很多答案,但是没有运气。我正在使用Ionic v3,我尝试播放youtube视频。这是我的代码:

enter image description here

openVideo()函数出错:

Object(...)不是函数

在设备上只是不执行任何按钮。

config.xml

<preference name="YouTubeDataApiKey" value="xxxxxxxxxxxxxxxxxxxxxxxx" />

youtube.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, LoadingController } from 'ionic-angular';
import { YoutubeVideoPlayer } from '@ionic-native/youtube-video-player/ngx';
import { Http } from '@angular/http';

@IonicPage()
@Component({
  selector: 'page-youtube',
  templateUrl: 'youtube.html',
})
export class YoutubePage {

constructor(public loading: LoadingController, public http: Http, private youtube: YoutubeVideoPlayer, public navCtrl: NavController, public navParams: NavParams) {  

} 

openVideo(){ 
  this.youtube.openVideo('mX0Q2eTI250'); 
}

}

youtube.html

<ion-header>
  <ion-navbar color="primary">
    <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>Videos</ion-title>
  </ion-navbar>
</ion-header>

<ion-content>  
  <button ion-button round icon-start color="danger" (click)="openVideo()">
  <ion-icon name="logo-youtube"></ion-icon>
  Open YouTube Video
  </button>
</ion-content>

app.module.ts

.
.
import { YoutubeVideoPlayer } from '@ionic-native/youtube-video-player/ngx';
.
.

@NgModule({
.
.
providers: [
  .
  .
  YoutubeVideoPlayer,
  .
  .

版本:

Ionic Framework: 3.9.2
Ionic App Scripts: 3.1.0
Angular Core: 5.0.0
Angular Compiler CLI: 5.0.0
Node: 8.11.3
OS Platform: Windows 10
Navigator Platform: Win32
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) 
AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 
Safari/604.1

我认为这是版本冲突,但我找不到位置。

1 个答案:

答案 0 :(得分:1)

我认为,如果这是Ionic V3项目,则您的导入与v4略有不同

Replace All

因此,没有import { YoutubeVideoPlayer } from '@ionic-native/youtube-video-player'; 部分;确保也正确卸载/安装插件,并在应用程序模块中更改导入

此v3插件的文档可以找到here