웹 소켓을 통해 인코딩 된 라이브 오디오 스트림 (mp3 또는 ogg)을 보내고 있으며 웹 오디오 API로 재생하려고합니다. 몇 가지 사항을 읽고 시도했지만 지금까지 아무 것도 작동하지 않았습니다 ...웹 오디오 API로 인코딩 된 오디오 스트림 재생
decodeAudioData 메서드로 항상 시도했습니다. 그러나이 메서드는 연속 스트림을 처리 할 수 없습니다.
ws.onmessage = function (evt) {
context.decodeAudioData(evt.data, function (decodedData) {
source = context.createBufferSource();
source.buffer = decodedData;
source.start(startTime);
source.connect(context.destination);
startTime += decodedData.duration;
},
function(e) {
var test = e;
}
);
};
이 작동 적어도 MP3 파일로하지만 아주 잘 : 그래서 내 마지막 방법이이었다. 수신 된 덩어리 사이에는 매우 작은 휴식 시간이 있습니다. 따라서 스트림의 유동적 인 재생은 없습니다. 나는 그 이유가 무엇인지 모르겠다. 아마도 decodedData.duration 속성이 충분히 정확하지 않거나 어떤 종류의 지연이있을 수있다.
어쨌든 ogg 파일은 전혀 작동하지 않습니다. 처음받은 청크를들을 수 있지만 나머지는 무시됩니다. 어쩌면 이것은 누락 된 헤더와 관련이있을 것입니까?
웹 오디오 API에 인코딩 된 라이브 스트림을 재생하고 decodeAudioData를 재생하는 다른 방법이 있습니까? 아무것도 찾을 수 없습니다 ...
도움 주셔서 감사합니다!