Bug 125031

Summary: No audioprocess event or byte frequency data when using HTML5 audio via createMediaElementSource()
Product: WebKit Reporter: Scott Schiller <bugs>
Component: Web AudioAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cheron.leo, crogers, cwilso, jer.noble, lepinski, mail, t.decaux, ultravistor, webkitbugzilla
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.9   

Description Scott Schiller 2013-11-30 11:44:28 PST
Purpose: Attempting to use Web Audio API to get data for visualization during playback of an HTML5 <audio> element.

Observed: 'audioprocess' event does not fire (demo 1), getByteFrequencyData() returns array of zeroes (demo 2.)

Demo 1: AudioContext() + createMediaElementSource() + createScriptProcessor() → audioprocess event
http://isflashdeadyet.com/tests/web-audio-visualization/

Demo 2: AudioContext() + createMediaElementSource() + createAnalyser() / getByteFrequencyData() method
http://isflashdeadyet.com/tests/web-audio-visualization/index-analyser.html
Comment 1 Takahiro Ichihashi 2014-10-04 09:50:44 PDT
It seems that createMediaElementSource() is actually not implemented (correct me if wrong). The method is there; we can call it w/o error, but it doesn't filter/analyze/produce actual sound if the audio is routed through this node. (Sounds come from media element even the method is not working, which makes it error-prone)

would love to hear the plan. 

* Btw many documentations (including apple dev guide) mention it as usable function, 

Dev guide:
https://developer.apple.com/library/safari/documentation/audiovideo/conceptual/using_html5_audio_video/PlayingandSynthesizingSounds/PlayingandSynthesizingSounds.html

MDN: 
https://developer.mozilla.org/ja/docs/Web/API/AudioContext.createMediaElementSource
Comment 2 Takahiro Ichihashi 2014-11-09 07:11:51 PST
Hello, is anyone paying attention to this issue? 

As a user/developer, use case of createMediaElementSource() was clear: visualise audio data (in iOS Safari). Since it's not working now, the application needs to download all the audio file first and execute decodeAudioData(), or cache spectrum data per audio file. Both appears not to be so smart/straightforward approach.
Comment 3 tommy tee 2014-12-17 17:11:13 PST
It would be awesome if this worked.
I hope someone up there gets the time to look into it.

Thanks
Comment 4 Chris Wilson 2014-12-18 12:35:18 PST
I believe this is essentially the same as http://crbug.com/419446.
Comment 5 Jer Noble 2015-04-02 15:16:50 PDT
Dup of bug #135042.

*** This bug has been marked as a duplicate of bug 135042 ***
Comment 6 Jer Noble 2015-04-02 15:18:10 PDT
Please try this against a WebKit nightly build on Mac OS X Yosemite.
Comment 7 Thomas Decaux 2018-10-02 13:42:25 PDT
It seems Safari 12 is still not working with the simple demo:

"analyzer is not working with MediaElementAudioSourceNode, but it's working fine with AudioBufferSourceNode".