我正在制作音乐播放页面,其中我使用SoundManager 2 for AngularJs。 我正在使用远程API来获取要播放的歌曲URL。我的增强角soundmanager2单击事件处理程序:未能在'HTMLMediaElement'上执行'播放':API只能由用户手势启动
element.bind('click', function() {
if (angular.isFunction(scope.loadFunction)) {
scope.loadFunction(scope.song, function() {
$log.debug('adding song to playlist');
addToPlaylist(scope.song.playDetails);
})
} else {
$log.debug('adding song to playlist');
addToPlaylist(scope.song);
}
});
当我加了一部分,调用scope.loadFunction(song,callback)
而这个函数加载歌曲后URL调用回调给控制回角soundmanager2。
的问题是,Android版Chrome浏览我得到一个错误:
Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
如果一首歌曲从一开始就和异步加载一个URL它不发生,不使用。
是否有任何解决方法?
这是关于此主题的Chrome问题 - https://bugs.chromium.org/p/chromium/issues/detail?id=178297 –