我在youtube
个应用中嵌入了ionic2
个视频:
的 Page2.ts:
从' @ angular / platform-browser'中导入{SafeResourceUrl,DomSanitizer};
export class Page2 {
url: SafeResourceUrl;
constructor(public navCtrl: NavController,
public navParams: NavParams,
sanitizer: DomSanitizer) {
this.url = sanitizer.bypassSecurityTrustResourceUrl('https://www.youtube.com/embed/XHCVWWsQmUs');
}
}
Page2.html:
<iframe height="190" onload="this.width=screen.width" [src]="url" frameborder="0" ></iframe>
并为配置添加一些首选项:
config.xml中:
<allow-navigation href="*://*.youtube.com/*" />
<allow-navigation href="*youtube*" />
<allow-navigation href="*ytimg*" />
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
它在android
设备上正常工作,但在iOS
中没有声音。我在XCode
控制台中收到此错误:
2016-11-08 10:06:10.648528 app [1066:438304] ERROR内部导航 拒绝 - 未设置为url =&#39; about:blank&#39;
不确定是否会影响声音。
我该如何解决这个问题?可能是来自Ionic
或Cordova
的错误吗?
答案 0 :(得分:0)
我发现这是一篇较老的帖子,但我想我会尝试重振它,看看其他人是否有可行的解决方案。
我在离子v1项目中遇到类似的嵌入式YouTube视频问题。请注意,我正在使用AngularJS模块嵌入在此处找到的Youtube视频 ng-youtube-embed :
https://github.com/ArunMichaelDsouza/ng-youtube-embed
除了iOS上的音频外,一切都按预期工作。如果设备切换到静音模式(使用硬件静音切换按钮),音频将静音。当振铃器重新打开(硬件切换)时,音频将按预期播放。在研究这个问题时,我不断发现这是Cordova的一个问题。声音被视为UI声音/声音效果,并且在静音开关打开时(振铃器关闭)不会播放。
我遇到的唯一解决方案是最好的一半,并阅读了一些帖子,指出他们的应用程序被Apple拒绝,因为黑客的解决方案(一个强制背景音频声音的插件)。否则它可能是“那就是它的方式”。 :(