Commit graph

784 commits

Author SHA1 Message Date
Richard Davey
14ddd29fbd Fixed TS errors 2022-11-30 15:06:52 +00:00
Richard Davey
9bdf022bed The BaseSoundManager.getAll method used to require a key parameter, to return Sounds matching the key. This is now optional and if not given, all Sound instances are returned. 2022-11-22 18:49:37 +00:00
Richard Davey
320317c884 The WebAudioSoundManager will now detect if the Audio Context enters a 'suspended' or 'interrupted' state as part of its update loop and if so it'll try to resume the context. This can happen if you change or disable the audio device, such as plugging in headphones with built-in audio drivers then disconnecting them, or swapping tabs on iOS. Fix #5353 2022-11-22 18:38:49 +00:00
Richard Davey
ee2b5f5e35 Clarify jsdocs. Fix #6043 2022-11-22 18:26:13 +00:00
Richard Davey
45fbebb53a BaseSoundManager.getAllPlaying is a new method that will return all currently playing sounds in the Sound Manager.
Fix #6147
2022-11-21 21:38:54 +00:00
Richard Davey
d71b53a7f5 Updated jsdocs. Fix #5981 2022-11-18 22:14:59 +00:00
Richard Davey
064e8a3ec2 Fixed type issues 2022-11-10 16:05:20 +00:00
Richard Davey
023343c789 All events have a type of string. Fix #6136 2022-09-21 22:01:03 +01:00
Richard Davey
6fe41a4845 Fix path 2022-09-20 22:24:27 +01:00
Richard Davey
6c70869ea4 Lots of jsdoc / TS fixes 2022-09-20 22:17:21 +01:00
Richard Davey
145832ed93 Destroying a WebAudioSound in the same game step as destroying the Game itself would cause an error when trying to disconnect already disconnected Web Audio nodes. WebAudioSound will now bail out of its destroy sequence if it's already pending removal. 2022-09-08 14:53:02 +01:00
Richard Davey
a421b1057a Add jsdocs so TypeScript won't complain #6200 2022-09-07 18:24:55 +01:00
Richard Davey
ec412b08a5 Tidy up 2022-09-07 18:24:26 +01:00
samme
0462351a64 Add missing NoAudioSoundManager methods
Fixes #6200
2022-08-26 11:41:34 -07:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
4f0232e8c8 Restored the 3.55.2 sound system + fixes for iOS 2022-02-04 16:59:13 +00:00
Richard Davey
2b4f9791fd Remove console log 2022-02-03 16:47:52 +00:00
Richard Davey
8e82489a13
Merge pull request #5949 from jcyuan/iOS10fix
fix iOS10 webkitAudioContext failed to initialize
2022-02-03 16:46:46 +00:00
Richard Davey
b69889fbc2 Can at least use the body reference to save some space #5948 2022-02-03 16:23:40 +00:00
J.C
214cdf6c1c on iOS 10, the webkitAudioContext does not have a parameter, it will cause error if you pass one. 2021-12-21 17:26:29 +08:00
J.C
57dee7c461 1, add missing polyfill for IE9,10
2, IE9, 10, function alias causes error and all audio can't work properly
2021-12-21 17:09:55 +08:00
Richard Davey
1af06910e2 Moved unlock handling to base, tidying up the common code 2021-11-22 23:54:12 +00:00
Richard Davey
a51267419d Use cache reference, more concise error 2021-11-22 23:53:56 +00:00
Richard Davey
5456267b2a Added pendingUnlock, tidied up the events, added unlock method 2021-11-22 23:53:44 +00:00
Richard Davey
2b6afda684 New unlock handler 2021-11-22 18:35:43 +00:00
Richard Davey
9705ea5b70 Debugging audio 2021-11-22 18:35:36 +00:00
Richard Davey
6c6084a4c5 Debugging logs 2021-11-22 16:59:30 +00:00
Richard Davey
e65b77a2f7 Only emit unlocked if actually unlocking 2021-11-09 18:38:37 +00:00
Richard Davey
93c182f8f9 Renamed method to decodeAudioQueue 2021-11-09 00:05:30 +00:00
Richard Davey
b538f77b26 Added decodeOnDemand boolean 2021-11-08 22:17:34 +00:00
Richard Davey
ef711f1444 Drop the iife 2021-11-08 21:55:08 +00:00
Richard Davey
b4a7dab08b Drop the iife 2021-11-08 21:51:33 +00:00
Richard Davey
3e45e6af38 Update WebAudioSoundManager.js 2021-11-08 18:26:06 +00:00
Richard Davey
46b9db5aca Added jsdocs, removed debug calls, added decoding flag 2021-11-08 18:01:50 +00:00
Richard Davey
86b26eff8d Added jsdocs, removed debug tests, fixed pending playback 2021-11-08 18:01:23 +00:00
Richard Davey
aaed099c0a Create WebAudioDecodeEntry.js 2021-11-08 18:01:03 +00:00
Richard Davey
78c141c84e Removed unlock handler from main loop 2021-11-08 18:00:54 +00:00
Richard Davey
18b9643d8f Return all sound types. Fix #5578 2021-11-08 16:04:11 +00:00
Richard Davey
1deb04bcee Documented all of the NoAudio properties and methods #5578 2021-11-08 15:51:56 +00:00
Richard Davey
a2956176dd New unlocking and decode queue code 2021-11-05 00:27:26 +00:00
Richard Davey
4f1f5ede9c Postponed all audio buffer creation until context is ready 2021-11-05 00:27:13 +00:00
Richard Davey
63fd3b92cd Expose new DECODED_KEY event 2021-11-05 00:26:57 +00:00
Richard Davey
313d2e8936 Create DECODED_KEY_EVENT.js 2021-11-05 00:26:30 +00:00
Richard Davey
4d6c67c22e Working through removing audio decoding from the loader 2021-11-04 17:54:43 +00:00
Richard Davey
040730defe Update WebAudioSoundManager.js 2021-03-26 11:24:56 +00:00
Richard Davey
d3d73d4c09 Update WebAudioSoundManager.js 2021-03-26 10:05:47 +00:00
Richard Davey
e5f4548961 The WebAudioSoundManager.onFocus method will now test to see if the state of the AudioContext is interrupted, as happens on iOS when leaving the page, and then resumes the context. Fix #5390 #5156 #4790 2021-03-24 17:37:40 +00:00
Richard Davey
23987112e1 Update WebAudioSound.js
* The `WebAudioSound.audioBuffer` property is no longer private.
* The `WebAudioSound.source` property is no longer private.
* The `WebAudioSound.loopSource` property is no longer private.
* The `WebAudioSound.muteNode` property is no longer private.
* The `WebAudioSound.volumeNode` property is no longer private.
* The `WebAudioSound.pannerNode` property is no longer private.
* The `WebAudioSound.hasEnded` property is no longer private, but _is_ read only.
* The `WebAudioSound.hasLooped` property is no longer private, but _is_ read only.
2021-02-01 15:17:48 +00:00
Richard Davey
c20b06b259 Made most properties public. Fix #5531
* The `WebAudioSoundManager.createAudioContext` method is no longer private.
* The `WebAudioSoundManager.context` property is no longer private.
* The `WebAudioSoundManager.masterMuteNode` property is no longer private.
* The `WebAudioSoundManager.masterVolumeNode` property is no longer private.
* The `WebAudioSoundManager.destination` property is no longer private.
2021-02-01 15:17:37 +00:00
Richard Davey
ceac5bdd4a Lint fix. 2021-01-06 11:07:14 +00:00