{"json_modified": "2016-03-28T08:27:54.503720", "uuid": "266a948c-fe7c-4f8c-ad32-b4a8f7dce042", "title": "Porting webkitAudioContext code to standards based AudioContext", "url": "/en-US/docs/Web/API/Web_Audio_API/Porting_webkitAudioContext_code_to_standards_based_AudioContext", "tags": ["API", "Reference", "R\u00e9f\u00e9rence", "porting", "Web Audio API", "webkitAudioContext"], "translations": [], "modified": "2014-07-31T09:43:08", "label": "Porting webkitAudioContext code to standards based AudioContext", "localization_tags": [], "locale": "en-US", "id": 79251, "last_edit": "2014-07-31T09:43:05", "summary": "The Web Audio standard was first implemented in WebKit, and the implementation was built in parallel with the work on the specification of the API.\u00a0 As the specification evolved and changes were made to the spec, some of the old implementation pieces were not removed from the WebKit (and Blink) implementations due to backwards compatibility reasons.\u00a0 New engines implementing the Web Audio spec (such as Gecko) will only implement the official, final version of the specification, which means that code using webkitAudioContext or old naming conventions in the Web Audio specification may not immediately work out of the box in a compliant Web Audio implementation.\u00a0 This article attempts to summarize the areas where developers are likely to encounter these problems and provide examples on how to port such code to standards based AudioContext, which will work across different browser engines.", "sections": [{"id": "Changes_to_the_creator_methods", "title": "Changes to the creator methods"}, {"id": "Changes_to_methods_used_to_startstop_AudioBufferSourceNode_and_OscillatorNode", "title": "Changes to methods used to start/stop AudioBufferSourceNode and OscillatorNode"}, {"id": "Removal_of_the_synchronous_AudioContext.createBuffer_method", "title": "Removal of the synchronous AudioContext.createBuffer method"}, {"id": "Renaming_of_AudioParam.setTargetValueAtTime", "title": "Renaming of AudioParam.setTargetValueAtTime"}, {"id": "Changes_to_some_of_the_enumerated_values_in_the_API", "title": "Changes to some of the enumerated values in the API"}, {"id": "OscillatorNode.type", "title": "OscillatorNode.type"}, {"id": "BiquadFilterNode.type", "title": "BiquadFilterNode.type"}, {"id": "PannerNode.panningModel", "title": "PannerNode.panningModel"}, {"id": "PannerNode.distanceModel", "title": "PannerNode.distanceModel"}, {"id": "Removal_of_AudioBufferSourceNode.gain", "title": "Removal of AudioBufferSourceNode.gain"}, {"id": "Removal_of_AudioBuffer.gain", "title": "Removal of AudioBuffer.gain"}, {"id": "Removal_of_AudioBufferSourceNode.looping", "title": "Removal of AudioBufferSourceNode.looping"}, {"id": "Removal_of_AudioBufferSourceNode.playbackState_and_OscillatorNode.playbackState", "title": "Removal of AudioBufferSourceNode.playbackState and OscillatorNode.playbackState"}, {"id": "Removal_of_AudioContext.activeSourceCount", "title": "Removal of AudioContext.activeSourceCount"}, {"id": "Renaming_of_WaveTable", "title": "Renaming of WaveTable"}, {"id": "Removal_of_some_of_the_AudioParam_read-only_attributes", "title": "Removal of some of the AudioParam read-only attributes"}, {"id": "Removal_of_MediaElementAudioSourceNode.mediaElement", "title": "Removal of MediaElementAudioSourceNode.mediaElement"}, {"id": "Removal_of_MediaStreamAudioSourceNode.mediaStream", "title": "Removal of MediaStreamAudioSourceNode.mediaStream"}], "slug": "Web/API/Web_Audio_API/Porting_webkitAudioContext_code_to_standards_based_AudioContext", "review_tags": []}