【问题标题】:streaming audio by samples from server in a local network通过来自本地网络中的服务器的样本流式传输音频
【发布时间】:2013-03-01 02:08:49
【问题描述】:

对不起,如果我的问题很愚蠢,但我是网络开发的初学者。我正在尝试使用 php 和 javascript 编写代码,但找不到答案或一些示例如何解决我的问题。

问题是从服务器向客户端发送音频样本(不是文件)并在客户端播放此音频。

如果有任何帮助,我将不胜感激。

【问题讨论】:

标签: php javascript audio stream


【解决方案1】:

在浏览器中有几种播放音频的方法:

1) 最常用的 Flash 插件:

使用 Flash,您可以处理原始 PCM 样本并播放它们,但在这种情况下,您至少需要 Flash API 和 ActionScript 3 的基本知识。

2) HTML5 视频/音频 API (Javascript),但这些规范尚未完成:

使用当前的 API,您无法在没有媒体容器的情况下直接处理 PCM。谷歌目前浏览器支持的容器,不同的浏览器支持不同的容器和不同的编解码器。

3) Windows Media Player 等其他插件:

也许您会找到适合您的插件,但要考虑到,如果您打算将声音流式传输给大量观众,那么您最好使用流行的插件,例如 flash。

总结:

通过网络发送 PCM 样本比压缩音频慢得多,但就您在本地网络中而言,这应该不是问题。

一种解决方案是,将您的样本包装在服务器上(使用 PHP),您应该根据您选择的客户端选择媒体容器。

或者学习一点flash,制作可以播放PCM样本的flash swf。

【讨论】:

  • 非常感谢您的回答!现在我需要一些时间来考虑一下。
  • 据我了解,我可以在媒体容器中推送音频,然后使用一些插件(如 Windows Media Player)或使用 HTML5 音频。另一种方法是制作flash swf。换句话说,我需要以任何方式转换我的数据。我说的对吗?
  • 是的,您需要将音频推送到媒体容器中。容器对于任何插件或任何正在播放流的东西都具有非常重要的作用,容器包含诸如用于压缩的编解码器之类的信息。对于音频,它可以包括采样率或比特率,对于视频,它可以包括每帧的高度和宽度等。因此,通常几乎所有播放任何类型媒体流的程序都需要某种媒体容器。
  • 所以我选择了Windows Media Player。现在应该选择一个协议来传输我的音频样本。
  • 已选择 WMP 和 http 协议。我想知道哪种类型的容器最简单,以及如何通过 http 流式传输它。我需要 C++ 示例。也许可以在php上做?我在哪里可以获得有关它的信息?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多