完全没有掌握SoundManager的范围(附例子)

时间:2014-03-10 11:30:11

标签: javascript jquery soundmanager2

道歉没有小提琴;只是试图理解SoundManager 2的基础知识并且悲惨地失败。

为什么这不起作用:

<script>
soundManager.setup({
  url: 'swf/',
  preferFlash: false,
  onready: function() {
    // Ready to use; soundManager.createSound() etc. can now be called.
  }
});
</script>

<script>
$(document).ready(function() {
  soundManager.createSound({
    id: 'mySound',
    url: 'audio/sound.mp3',
    autoLoad: true,
    autoPlay: true,
    volume: 50
  });
  mySound.play();
});
</script>

但这样做:

<script>
soundManager.setup({
  url: 'swf/',
  preferFlash: false,
  onready: function() {
    soundManager.createSound({
      id: 'mySound',
      url: 'audio/mySound.mp3',
      autoLoad: true,
      autoPlay: true,
      volume: 50
    });
    mySound.play();
  }
});
</script>

我根本得不到它......每个声音都必须加载到onready()吗?如果是这样,90%的用例对远程有用吗?我不得不遗漏一些东西。 examples they provide使我在代码中的任何位置变得容易:

soundManager.createSound({
 id: 'mySound2',
 url: 'audio/mySound2.mp3'
});
soundManager.play('mySound2');

然而它不起作用。为什么呢?

1 个答案:

答案 0 :(得分:1)

来自评论

API恰好需要在初始化之前和准备好运行之前做一些事情。如果在API加载完成之前调用createSound,则会出现错误。您可以尝试使用onready,而不是使用$(func..)作为起点,并从内部调用$(functio..

我做了一个非工作小提琴我的意思:http://jsfiddle.net/YdC8j - 我没有和声音管理员合作我只是在猜测