当前位置:   article > 正文

音频插件使用(wavesurfer.js)_jquery中wavesurferjs中如何使用cursor.js

jquery中wavesurferjs中如何使用cursor.js

html:

  1. <div id="waveform" style="height: 130px; margin: 0 15px;"></div>
  2. <div class="operate-btn">
  3. <img onclick="rew()" title="后退" style="height: 54px;" src="/images/audio-back.png" />
  4. <img onclick="plays()" id="status" class="layui-anim layui-anim-scale" style="height: 80px;margin: 0 20px;"
  5. src="/images/audio-start.png" />
  6. <img onclick="forward()" title="前进" style="height: 54px;" src="/images/audio-front.png" />
  7. </div>

js:

  1. var wavesurfer = WaveSurfer.create({
  2. container: '#waveform',
  3. cursorColor: 'transparent', // 光标的填充颜色
  4. waveColor: '#0B6CC8', // 光标后的波形填充颜色
  5. backgroundColor: '#000000', // 波形容器的背景颜色
  6. progressColor: '#004281', // 光标后面的波形部分的填充色
  7. barGap: 8, // 间距
  8. barRadius: 3,
  9. barWidth: 6,
  10. // height: 40,
  11. // backend: 'MediaElement',
  12. // xhr: {
  13. // mode: "no-cors"
  14. // }
  15. });
  16. // wavesurfer.load(urlAll + filePath); // 加载服务器路径
  17. wavesurfer.load('/images/bensound-acousticbreeze.mp3'); // 加载本地路径
  18. // 音频加载成功时的监听事件
  19. // wavesurfer.on('ready', function () {
  20. // wavesurfer.play();
  21. // });
  22. // 加载错误时的监听事件
  23. wavesurfer.on('error', err => {
  24. console.warn(err);
  25. })
  26. //音频暂停时的监听事件
  27. wavesurfer.on('pause', function () {
  28. // wavesurfer.params.container.style.opacity = 0.9;//识别到监听事件后,需要执行的操作
  29. });
  30. //音频完成播放时的监听事件
  31. wavesurfer.on('finish', function () {
  32. });
  33. // 播放时暂停,播放时暂停
  34. function plays() {
  35. wavesurfer.playPause();
  36. if (flag == false) {
  37. $("#status").attr("src", "/images/audio-pause.png")
  38. flag = true
  39. } else if (flag == true) {
  40. $("#status").attr("src", "/images/audio-start.png")
  41. flag = false
  42. }
  43. }
  44. // 后退
  45. function rew() {
  46. wavesurfer.skip(-3)
  47. }
  48. // 前进
  49. function forward() {
  50. wavesurfer.skip(3)
  51. }

效果如下

 

此处需要注意一点,加载本地音频正常,当加载服务器路径时,即使后台设置了跨域,也会出现如下跨域问题

 搜索了很多文章,加上下面几行代码可以解决跨域问题,可以正常播放音频,但是会出现波形效果不显示的问题

  1. backend: 'MediaElement',
  2. xhr: {
  3. mode: "no-cors"
  4. }

网上说这个还是因为跨域问题没有解决,然后就不知道了。。目前还没得解决办法,找到解决办法了再来更新,如果有遇到这个问题解决了的大佬也麻烦解惑一下呐

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签