Я экспериментирую с W3C Web Audio API , реализованным и включенным в сборках Google Chrome Canary. (у меня сейчас 15.0.865.0 канарейка на Windows 7 x64) Демонстрационные приложения отлично работают.
Мне нравится использовать MediaElementAudioSourceNode
, потому что я люблю играть более крупную музыку OGG. Для таких аудио файлов API говорит, что я должен использовать это вместо AudioBufferSourceNode
.
Я написал очень простой пример:
<script type="text/javascript">
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'dubfx.ogg');
var audioContext = new webkitAudioContext();
var streamingAudioSource = audioContext.createMediaElementSource(audioElement);
streamingAudioSource.connect(audioContext.destination);
</script>
Однако я просто слышу щелчки вместо реального звука. Я не вижу ошибок в консоли JavaScript, поэтому я думаю, что код в порядке, может быть, некоторая инициализация отсутствует. Если я звоню audioElement.play()
вместо маршрутизации через API Web Audio, музыка играет просто отлично. Я что-то пропустил или, может быть, текущая реализация WebKit не работает?