Вариант 1, вероятно, не будет работать, потому что аудио-тег не воспроизводит необработанные аудио-данные (я предполагаю, что вы подразумеваете под аудио-данными PCM, или я ошибаюсь?).Каждому браузеру нужны определенные кодеки.В довершение всего к аудиотэгу вообще не стоит играть вещи без пробелов.
Вариант 2 может работать.API веб-аудио содержит буферы, которые, вероятно, могут быть заполнены необработанными данными и воспроизведены, но я никогда не пытался это делать.Большой недостаток сейчас в том, что;а.Только хром б.пользователь должен настроить chrome, набрав about: flags и включив Web Audio, что может пугать некоторых.
Третий вариант - это API Audio Data, который является чем-то средним.Я никогда не пробовал сам, но из спецификации это выглядит именно то, что вы ищете.Я не знаю о реализации, так что вам придется провести некоторое собственное исследование :) https://wiki.mozilla.org/Audio_Data_API#Writing_Audio
Пожалуйста, не то, чтобы я давал эти ответы на макушке, и я все еще довольноновичок в аудио HTML5.