Я отлаживаю приложение, которое использует FlashWavRecorder или AudioRecorder для записи звука, а затем его воспроизведения. Проблема в том, что приложение работает так, как задумано, в настольном Chrome, но не записывает и не воспроизводит (не знаю, что) в Chrome для Android. Вот заголовки для Android:
Заголовки запроса
URL:blob:http%3A//example.com/8e112ef4-8691-4582-8abb-82da3e312221
Request Method:GET
Status Code:206 Partial Content (from cache)
Range:bytes=0-1
Referer:http://example.com/xyz/MTYwMDc=/abcdefg
User-Agent:Mozilla/5.0 (Linux; Android 4.4.2; LG-E988 Build/KOT49I.E98820a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.89 Mobile Safari/537.36
Заголовки ответа
Content-Length:2
Content-Range:bytes 0-1/475180
Content-Type:audio/wav
Приложение сначала проверяет, поддерживается ли Flash, если да, то используется FlashWavRecorder, если нет — AudioRecorder. Для AudioRecorder требуется API веб-аудио, который, согласно Можно ли использовать...:
Chrome для Android не поддерживает API веб-аудио в сочетании с getUserMedia.
Я не знаком с этим API или getUserMedia
, но я предполагаю, что getUserMedia
требуется для запроса разрешения на использование микрофона. Итак, как я могу получить звук с микрофона и записать его без использования getUserMedia
?
Эти два ответа от 1,5 года назад предполагает, однако, что он поддерживается и должен работать.
Так что это? Это просто не поддерживается или в коде ошибка?
(Если первое, то каковы альтернативы использованию Web Audio API или getUserMedia
?)