当Soundcloud html5小部件被jQuery隐藏时,音频暂停

时间:2012-06-07 19:46:16

标签: jquery html5-audio soundcloud

关于THIS 网站

简要概要

点击左侧的 Listen 标签会显示一个soundcloud播放器(实际上是几个可滚动的窗格内) 单击play并检查关闭面板(使用jQuery hide()方法)也会停止音频。

根据我所知的hide()方法,对象只是隐藏而不是被破坏。使用firefoxs检查器,这似乎是真的,因为我仍然可以在隐藏后查看soundcloud播放器的实例。那为什么音频暂停?

使用过的代码

目前影响'抽屉'的jquery

$(document).ready(function(){
            $(".sctrigger").click(function(){
                $(".scdrawer").toggle("slow");
                $(this).toggleClass("active");
                return false;
             });
            $("#scMain").scrollable({
                  vertical: true,
                 keyboard: 'static',
  }).navigator("#scNavi");

目标

关闭滑出式面板时,我不希望中断播放。

附加功能,不过可以调用播放器并在'listen'标签中显示曲目名称和艺术家以及停止按钮关闭时的页面

潜在解决方案

如果播放器被销毁,是否有一个jquery方法可以隐藏播放器而不是完全删除它?

我有一种感觉,一种解决方案是将播放器代码嵌入到页面中,并使用soundcloud api使用我自己的图标等调用函数,但这需要大量的构建时间,特别是考虑到我的不熟悉和最少的经验。 。当我对html5小部件非常满意时。

关于附加功能;可以在窗口小部件上使用任何基于java的调用来获取跟踪信息吗?

这是我的第一篇文章,如果我不遵守标准,那么道歉非常感谢社区的SO。喜欢这个网站。

1 个答案:

答案 0 :(得分:0)

我无法重新创建错误(Chrome 19,Ubuntu上的Firefox 13):即使快速点击“收听”标签,播放仍然可以继续播放。

jQuery.hide确实隐藏了你指定的任何容器元素,并且没有触及任何子节点,因此它们绝对不会被破坏。

它是永久停顿还是仅仅导致播放暂时中断?如果是后者,也许问题的一部分可能是浏览器必须做的额外处理才能执行隐藏动画阻止音频播放?这有点令人惊讶,因为我以前从未见过javascript /渲染会影响媒体播放。您可以通过从隐藏中删除动画来测试这一点,看看是否会改变任何内容。

在抓取曲目信息或通过您自己的来电控制播放方面,您可以使用widget API。要获取跟踪信息(即API docs中描述的数据,如标题,图片网址,用户名等),您可以使用SC.Widget(...).getCurrentSound()