首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能通过浏览器在javascript中播放流式的PCM音频吗?

你能通过浏览器在javascript中播放流式的PCM音频吗?
EN

Stack Overflow用户
提问于 2013-07-18 10:47:00
回答 1查看 2.3K关注 0票数 2

如果我使用websocket协议接收20ms ulaw样本(对于内部音频会议应用程序),将它们转换为PCM,缓冲它们的任何抖动(如果需要)...is它可能,如果是这样,如何指示浏览器播放它们?我可以枚举播放设备吗?对于沙盒浏览器环境,这是如何工作的?

使用Javascript和尽可能少的插件。这附近有人玩过这个吗?

我知道你可以使用webrtc和SRTP,但我主要考虑的是合成音频缓冲区并提交以供回放。

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 19:28:41

对于那些来自搜索引擎的人:

是的,这是可能的。您可以使用createBufferSource节点接收来自WebSocket的音频数据。

它是这样的:

代码语言:javascript
复制
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进程中执行此操作时可能会出现性能问题,worker可能更好。此外,可能需要重新采样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17713659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档