我正在制作一个音乐播放页面,我将SoundManager 2用于AngularJs.我正在使用远程API来播放歌曲URL.我增强了一个angular-soundmanager2点击事件处理程序:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
我添加了一个部分,调用scope.loadFunction(song,callback)此函数并加载一个歌曲URL后,它调用一个回调来将控制权交给angular-soundmanager2.
问题是在chrome for android上我得到一个错误:
Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
Run Code Online (Sandbox Code Playgroud)
如果歌曲从头开始并且未使用异步加载,则不会发生这种情况.
它有什么变通方法吗?
我开发了一个应用程序,用户可以在网页上设置视频: - 他们可以指定Youtube URL或 - 他们可以上传视频
根据用户选择的选项,我会像这样呈现视频页面:如果视频来自youtube:
<iframe type="text/html" width="640" height="385" src="http://www.youtube.com/embed/YOUTUBEID?autoplay=1&loop=1&autohide=1&fs=0" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
如果正在上传视频:
<video id="video" style="cursor: pointer;" width="640" height="480" autoplay controls loop>
<source src="../video/Tareas_Diarias_Resumen.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)
好.所有这一切在谷歌浏览器上都很完美,但事实是该视频将在16款三星GT-P5100 Android 4.03平板电脑上观看.
我们创建了一个嵌入webView的Android应用程序:
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.setWebChromeClient(new WebChromeClient());
engine.getSettings().setPluginsEnabled(true);
engine.getSettings().setPluginState(PluginState.ON);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setAllowFileAccess(true);
engine.loadUrl(miUrl);
Run Code Online (Sandbox Code Playgroud)
在这里,我有两个问题:1- Youtube视频.它工作正常,我可以看到视频,但没有自动播放,我们希望它与自动播放一起使用.有解决方案吗 2-上传的视频不起作用,我可以看到播放器,但没有视频.
视频通过手刹转换,选择iphone和ipod-touch预设和"Web优化"选项.
任何帮助或线索?提前致谢