问题标签 [soundjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
97 浏览

html5-audio - 已完成的事件不适用于通过 IE 中的 audiosprite 播放的声音

我在用 :

Demo_Sound不在 audioSprite 中但它是正常声音时,它也会在 IE 中调用“完成”事件。

这是行不通的。任何线索将不胜感激。

0 投票
0 回答
195 浏览

createjs - 在 CreateJS 中将 AudioBuffer 传递给 AudioContext 分析器

我使用 AudioContext() 类在 JavaScript 中制作了一个 audioCtx。我有一个使用 audioCtx.createAnalyser() 制作的分析器。如果我的音频是一个音频标签,并且我使用 audioCtx.createMediaElementSource(audio) 创建了一个源,则将其传递给分析器: source.connect(analyser); 这有效 - 我收到数据。我还可以使用 audioCtx.createMediaStreamSource(stream); 连接麦克风 等等

但是,如果我的源是 CreateJS AbstractSoundInstance 对象(称为输入),它具有返回 AudioBuffer 对象的播放资源属性(声音正在播放):

AudioBuffer { sampleRate:44100,长度:5961072,持续时间:135.1717006802721,numberOfChannels:2 }

我似乎无法连接这个。我努力了

var source = audioCtx.createBufferSource(input.playbackResource);

然后尝试使用 analyser.connect(audioCtx.destination); 连接目的地 但我无法获得任何数据。我似乎对 CreateJS 声音的唯一钩子是playbackResource - SoundJS 文档说:“例如,WebAudioPlugin 将设置一个数组缓冲区。”

关于如何将 AudioBuffer 传递给分析器的任何建议(Lanny?Grant?)谢谢!

0 投票
2 回答
235 浏览

javascript - soundjs 通过创建许多 WebAudioSoundInstance 来发挥潜在的内存泄漏

如果我在 Chrome 中连续使用 soundjs 播放声音,计数会无限增加,WebAudioSoundInstance因此内存消耗会增加。
怎么能避免呢?

对象实例的屏幕截图

0 投票
1 回答
286 浏览

javascript - SoundJS:混合 html 和网络音频

我想在我的游戏中播放缓冲音频以播放长音乐文件(流式传输)。看来我必须使用 html 音频: SoundJS 中的缓冲音频

但是,我仍然想使用 webaudio 来制作音效(例如,为了避免移动浏览器上的延迟)。

这是可行的吗?我可以在同一页面中对某些声音使用 html 音频,对其他声音使用网络音频,还是必须为我的音乐文件手动创建一些 html 音频标签?

0 投票
0 回答
61 浏览

javascript - 声音 JS 未在 iOS 上运行

我有一个使用视频、照片和声音的播放器。

如果视频正在运行,SoundJS 在 iOS 上运行良好。如果没有视频,我根本无法让 SoundJS 在 iOS 上运行(其他地方都很好)。

我正在尝试在 onTouch 事件上播放声音,并且正在使用 PreloadJS 和队列。

加载时我在 iOS 上收到此错误

我正在加载 soundFile

这是在没有 onTouch 事件的情况下间歇性地加载第一个事件,现在根本没有加载。

0 投票
0 回答
1099 浏览

reactjs - 在 React 应用程序中使用 PreloadJS 和 SoundJS 来预加载声音

我正在尝试在 React 应用程序中使用 PreloadJS 和 SoundJS 来预加载所有声音,然后从预加载的缓存中播放。

我不知道如何创建 LoadQueue 并将声音加载到一个组件(顶级:)中App.jsx,然后在不同的组件(App.jsx:的子级)中播放它们Board.jsx

预加载器工作正常,但我无法在子组件中播放声音。当我尝试打电话时,createjs.Sound.play()我不断收到createjs.Sound未定义的错误消息。我认为这与我将声音插件安装在一个组件中然后尝试在其他地方访问它的事实有关,但是声音插件似乎附加到 LoadQueue 本身,我不认为我想要组件中有一个新的 LoadQueue Board?我究竟做错了什么?

到目前为止我尝试过但没有奏效的事情:

  1. webpack.config根据this answer中的说明进行修改,这应该createjs在全局上下文中可用
  2. playSound在我的顶级组件(定义 LoadQueue 的地方)中定义一个方法,并将该方法作为道具传递给我想要播放声音的子组件。

asset_loader.js

App.jsx

Board.jsx

错误信息:Uncaught TypeError: Cannot read property 'play' of undefined

0 投票
1 回答
422 浏览

createjs - 使用 CreateJS 快速重复短声音

目标

我正在尝试使用 Createjs 在 Cordova 应用程序中创建快速滴答声。

滴答声速度根据用户设置而变化。目前时间不稳定

设置

我有一个 50 毫秒长的单个滴答声的 mp3 音频文件。

目标重复速度可以快至每秒 10 次。

问题

我怎样才能让声音以这种速度均匀一致地播放?

更多技术细节

createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
createjs.Ticker.framerate = 30;

为任何帮助而欢呼

0 投票
1 回答
50 浏览

soundjs - SoundJS 中的混​​响

我知道 WebAudio 通过 Convolver 直通支持混响(https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/createConvolver)。有没有办法用 SoundJS 应用混响?我正在开发一款游戏,并希望将相同的混响应用于通过 SoundJS 播放的所有声音。

0 投票
1 回答
307 浏览

javascript - SoundJS - 在音频精灵中注册 4 个声音

我正在使用 preloadJS 1.0 加载 SoundJS 1.0 音频精灵。audiosprite 分为 4 个声音,我称之为 a、b、c 和 d。(在代码的其他地方,它随机播放 4 种声音中的哪一种。)

这是基本的加载和声明代码:

当我加载声音时,我得到: Uncaught TypeError: Cannot read property '1' of null

如果我注释掉最后 3 行并只创建 1 个实例(例如声音 +“a”),声音加载并且我没有收到错误,但显然我只得到 4 个部分中的 1 个。

我觉得问题是它不喜欢我像这样背靠背调用 createInstance 。这样做的正确方法是什么?

0 投票
1 回答
221 浏览

soundjs - 音频的播放进度 - SoundJS

如何使用 SoundJS 获得音频文件的连续播放进度?

我需要为图形匹配制作动画以播放进度。

我查看了文档,看不到播放进度事件。