audio - 流媒体音频如何在网络上工作?

标签 audio web browser audio-streaming

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。




Improve this question




我意识到这是一个非常广泛的问题。我对音频数据如何从托管音频文件的服务器到我的声卡的整个过程的高级概述感兴趣。

我想在这个过程中至少有三个有趣的接口(interface)点:

  • 音频数据如何传输从服务器到客户端 ?
  • 一旦音频数据到达客户端,客户端代码使用哪些 Web API 来指示浏览器播放它 ?
  • 在这些 Web API 的实现中,操作系统 API 浏览器是否用于实际播放音频? (我主要对 Windows 和 Linux 感兴趣)。

  • 我意识到在每一点上可能有几种选择。我正在寻找最常用技术的高级概述,最好带有指向更多资源的链接。

    最佳答案

    (How is the audio data transferred from the server to the client ?)
    
  • 一个策略:Web Sockets - 服务器和浏览器打开这两种方式的 channel ,它可以传输一系列二进制类型的数组以供浏览器上的 javascript 使用 - 缺点是浏览器必须从上下文切换到它所做的事情(渲染音频)服务从服务器接收到的消息 - 如果您不在浏览器端使用 Web Worker,这可能会导致音频渲染出现故障

  • .
    (what web APIs does client code use to instruct the browser to play it?)
    
  • Web 音频 API - 如果您将 Web Socket 聊天转移到 Web Worker
  • ,则效果很好

    .
    In the implementation of these web APIs, what operating system APIs does the browser use to actually play the audio? (I'm primarily interested in Windows and Linux)
    
  • 美丽的是,你可以忽略这个问题,因为它与手头的任务无关,除非我在你的问题中遗漏了一些议程

  • 这只是我的观点(我已经编写了一个实现上述方法的系统),但是我也很好奇其他人如何......说 SoundCloud ...实现它的流式音频,尤其是单线程浏览器问题???

    关于audio - 流媒体音频如何在网络上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883287/

    相关文章:

    asp.net - 在asp.net中绘制带有声音的图形

    python - 使用 sox 在 Django 表单类中修剪声音文件

    css - 使用 CSS 调整内联图像的大小

    testing - 如何使用 Web 浏览器测试 Spring MVC 的 HTTP POST?

    macos - 如何在 OS X 上的旧版 Safari 中测试我的网站?

    javascript - VS Code 调试控制台与任何 Web 浏览器有什么区别

    audio - 开始播放时 rodio 中的连接噪音

    ios - 在 iOS 上使用音频单元混合多个信号

    c# - 在 Unity 上使用 .NET 自己的 httpClient 类

    javascript - 如何在鼠标悬停时打开 react-bootstrap Dropdown?