2013-07-18 2 views
1

websocket 프로토콜을 사용하여 20ms의 ulaw 샘플을 수신하면 (내부 회의용 오디오 컨퍼런스 앱의 경우) PCM으로 변환하고, 지터가있을 경우 버퍼링합니다 (필요한 경우) ... 가능하면 어떻게, 어떻게 할 수 있습니까? 브라우저에서 재생하도록 지시합니까? 재생 장치를 열거 할 수 있습니까? 샌드 박스 브라우저 환경에서는 어떻게 작동합니까?PCM 오디오를 브라우저에서 자바 스크립트로 스트리밍 재생할 수 있습니까?

최대한 적은 수의 플러그인으로 Javascript를 사용하십시오. 이 주변 사람이 이걸 가지고 놀았 니?

나는 webrtc와 SRTP를 사용할 수 있다는 것을 알고 있지만, 주로 오디오 버퍼를 작성하고 재생을 위해 제출할 생각입니다.

+0

가능한 [HTML5의 오디오 데이터 스트리밍] (http://stackoverflow.com/questions/6593738/audio-data-streaming-in-html5?) 중복이 가능한가요? – bfavaretto

+1

이 작업은 Web Audio API와 ScriptProcessorNode를 사용하여 수행 할 수 있습니다. – Brad

답변

0

검색 엔진에서 오는 사람들에게 :

예, 가능합니다. createBufferSource 노드를 사용하여 WebSocket에서 오는 오디오 데이터를 수신 할 수 있습니다.

은 이런 식입니다 :

var context = new window.AudioContext() 

var channels = 1 
var sampleRate = 44100 
var frames = sampleRate * 3 

var buffer = context.createBuffer(channels, frames, sampleRate) 

// `data` comes from your Websocket, first convert it to Float32Array 
buffer.getChannelData(0).set(data) 

var source = context.createBufferSource() 
source.buffer = buffer 

// Then output to speaker for example 
source.connect(context.destination) 

는 근로자가 더 좋을 수도의 UI 과정에서이 작업을 수행 할 때 성능 문제가 발생할 수 있습니다, 조심하십시오. 또한 리샘플링이 필요할 수 있습니다.

관련 문제