2013-05-15 3 views
1

Я пытаюсь получить исходное аудио в обратном вызове getUserMedia() и отправить его на сервер. Обратный вызов успеха получает объект LocalMediaStream.Получить исходный звук в обратном вызове getUserMedia

var onSuccess = function(s) { 
var m=s.getAudioTracks(s); 
//m[0] contains MediaStreamTrack object for audio 
//get the raw audio and do the stuff 
} 

Но нет никакого атрибута или метода для получения необработанного звука из каналов в MediaStreamTrack. Как мы можем получить доступ к необработанному звуку в этот обратный вызов, который вызван успехом getUserMedia()?

Я нашел библиотеку Recorder.js-- https://github.com/mattdiamond/Recorderjs Но это запись чистого аудио в Chrome: Version 26.0.1410.64 m. Он отлично работает на Chrome: версия 29.0.1507.2 канарейки SyzyASan.

Я думаю, что есть проблема Web Audio API, используемая recorder.js

Я ищу решение без Web Audio API, которые должны работать по крайней мере, на официальной сборке Chrome.

+0

FYI, это, вероятно, проблема с вашими флагами. перейдите в chrome: // flags и найдите один доступ к микрофону или getusermedia. Не помню, как это называется. Но если вы включите его, он должен работать в Chrome 26. Я сомневаюсь, что это ошибка RecorderJS - многие люди используют эту библиотеку. –

ответ

2

Проверьте MediaStreamAudioSourceNode. Вы можете создать один из них (с помощью метода AudioContext createMediaStreamSource), а затем подключить вывод к RecorderJS или простой старый ScriptProcessorNode (на котором построен RecorderJS).

Edit: Просто понял, что вы просите, если вы можете получить доступ к сырые сэмплы без веб-Audio API. Насколько я знаю, я не думаю, что это возможно.