在ionic2 app中嵌入youtube视频

时间:2017-10-04 15:15:13

标签: youtube ionic2

我想在我的ionic2应用程序中嵌入Youtube视频我使用过Youtube管道并导入以下内容:

MethodSignature methodSig = (MethodSignature) joinpoint.getSignature();
        Annotation[][] annotations = methodSig.getMethod().getParameterAnnotations();
        if (annotations != null) {
            for (Annotation[] annotArr : annotations) {
                for (Annotation annot : annotArr) {
                    if (annot instanceof KeyAnnotation) {
                        System.out.println(((KeyAnnotation) annot).value());
                    }
                }
            }
        }

youtube.ts包含以下

import { DomSanitizer } from '@angular/platform-browser';

我也在app.module.ts中导入了它,如下所示:

   constructor(private dom: DomSanitizer) {


    }

  transform(value, args) {
    return this.dom.bypassSecurityTrustResourceUrl(value);
}
}

在我的.html文件中,我写了这个:

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';

import { MyApp } from './app.component';
...
import{ YoutubePipe } from '../pipes/youtube/youtube';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';

@NgModule({
  declarations: [
    MyApp,
    HomePage,
    ...
    YoutubePipe
  ],

它在输出屏幕上给我这样的信息:

不能GET /uri.vurl%20%7C%20youtube

我应该做什么,请帮助。

1 个答案:

答案 0 :(得分:0)

首先,您需要在 .ts 文件中导入 DomSanitizer ,如下所示:

import { DomSanitizer } from '@angular/platform-browser';

接下来,在构造函数中声明一个变量

constructor(..., private sanitizer: DomSanitizer) {}

如果您要显示一个已经拥有uri的视频,您可以声明一个实例变量并传入uri,如下所示:

this.videoUrl = this.sanitizer.bypassSecurityTrustResourceUrl("https://....")

现在,在 .html 文件中,执行以下操作:

<iframe [src]="videoUrl" frameborder="0" width="100%" height="155" allowfullscreen></iframe>

希望这有帮助。