如何存储和重复使用点击事件(播放音频/视频的权限)

时间:2014-05-30 20:45:37

标签: javascript ios audio video mouseevent

我们有一个视频。我做了一个"介绍页面"对于那个视频。介绍页面运行一个漂亮的小动画和一个音轨,然后它将视频加载到屏幕中间并播放。

  • 问题 - 移动设备在开始时不播放音频,也不播放视频

  • 解决方法 - 我在开头添加了一个“播放”按钮。然后在事件处理程序中,我启动音频和动画。

  • 解决方法问题 - 问题是用户必须在开头点击两者,启动音频和动画,然后他们必须再次单击以启动视频。

  • 解决方法 - 所以我想我可能会被允许启动视频并在原始事件处理程序中暂停(隐藏),然后继续播放视频(播放)介绍动画结束。

  • 解决方法出现问题 - 所以它实际上可以启动视频并将其暂停在原始点击事件处理程序中,然后在动画之后播放,而无需用户再次点击。然而,问题在于它现在没有播放与初始动画相关的音频。启动视频似乎取消了音频

因此,既然你想看代码,那么在页面加载时,点击处理程序就会发生这种情况:

sym.$("playcover").hide();               //hide play button
sym.play();                              //start the animation
sym.$("ambient11sec2")[0].play();        //start the audio
var vid = sym.getVariable("introvideo"); //get video reference
vid.play();                              //play video while we have user's event
vid.pause();                             //immediately pause (video.js btw)

然后在动画之后

sym.getVariable("introvideo").play();

再次,它"工作"但是一旦播放视频,它就会取消音频。 (iOS"功能")

  • 问题 - 问题是,有没有办法存储"用户事件,以便我可以立即播放音频,但稍后播放视频。

还是有其他一些解决方法,所以1次点击会让我播放动画+音频然后视频?我不确定是什么让点击事件特别适合我可以运行音频/视频的地方。

1 个答案:

答案 0 :(得分:0)

sym.$("playcover").hide();               //hide play button
sym.play();                              //start the animation
//<--moved this line to the end
var vid = sym.getVariable("introvideo"); //get video reference
vid.play();                              //play video while we have user's event
vid.pause();                             //immediately pause (video.js btw)

sym.$("ambient11sec2")[0].play();        //NOW start the audio 

虽然这并没有回答存储&#34;用户点击&#34;的问题。要获得以后启动视频的权限,它可以解决问题。我太近了!呵呵。我只是开始并暂停视频(因此绕过&#34;你可以在没有点击的情况下开始&#34;以后再用),然后我播放音频。然后在动画之后,当我取消暂停视频时,它允许我这样做,因为它已经&#34;已经开始&#34;。

所以我认为道德是:做一个初始的&#34;游戏&#34;按钮,然后在事件处理开始和暂停您将需要的所有音频或视频,然后在演示/应用程序等中根据需要取消暂停音频/视频。