首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.css工作表中访问waveform.png以使用webkit-mask?

在.css工作表中访问waveform.png以使用webkit-mask?
EN

Stack Overflow用户
提问于 2013-03-21 03:34:31
回答 1查看 410关注 0票数 1

基于自定义播放器示例,我构建了我自己的播放器。我使用了minimal-player模板。

设置好播放器后,我开始定制设计(color.css、structure.css、标准、css)。

但是现在我被卡住了..我发现我不能改变波形的背景颜色,除非我使用webkit或waveform.js。

webkit对我来说应该很好……

我唯一的问题是,我不知道如何访问我的index.html或*.css文件中的track.waveform_url。

我知道它的内部波形容器div,但我需要url

代码语言:javascript
复制
  .wavekit{
    -webkit-mask-box-image: url(**IN HERE!!!**);
    background: #81D8D0;
    height: 280px;
    width: 100%;
    bottom: 0px;
    position: fixed;
  }

在我的样式表中..

遗憾的是,我不能提供链接,因为它只在我的硬盘驱动器上

有没有人能帮帮我?非常感谢你

EN

回答 1

Stack Overflow用户

发布于 2013-03-22 00:12:20

好吧,这很麻烦,但经过几次尝试,我还没有找到更好的方法来获得波形URL。

我的想法是,对于第一次播放,有一个正在触发的'ajaxSuccess'事件,对于下一次播放,有一个'scPlayer:onAudioReady'事件。关键是图像的DOM只在某个时刻由插件生成,所以我们需要一个像事件一样的“钩子”来确定图像是否已经存在于DOM中。

代码语言:javascript
复制
$(document).bind('ajaxSuccess scPlayer:onAudioReady', function () {
    // get image from DOM of player 
    // it will be re-set every next play
    console.log($('.sc-waveform-container > img').attr('src'));
    $('.wavekit').style({
      '-webkit-mask-box-image': $('.sc-waveform-container > img').attr('src')
    });
});

下面是工作示例http://jsbin.com/uhofom/2/edit (仅在Chrome中测试)

自定义播放器项目已经过时,可能不会得到太多关注。从JavaScript的角度来看,它的当前状态并不是很容易扩展。

我的建议是使用像Audio5JSSoundManager2这样的东西来播放音乐,并拥有自定义的HTML和CSS。要获得实际的声音或集合数据,您可以查询我们的HTTP API或使用SoundCloud JavaScript SDK。然后,您将拥有包含所有数据(包括波形API )的适当对象,并且可以更好地控制该过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15533024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档