网站上的实时音频流

Posted

技术标签:

【中文标题】网站上的实时音频流【英文标题】:Live audio streaming on a website 【发布时间】:2011-09-28 07:12:09 【问题描述】:

我正在尝试为互联网广播电台建立一个网站。我想加入一项功能,允许访问者在网站本身上播放实时音频流。

我应该从哪些技术入手?这通常是怎么做的?有没有一种通常被认为最适合直播的方法?

【问题讨论】:

【参考方案1】:

根据您流式传输的格式,您有几种选择:

html5 音频对象(编解码器兼容性因浏览器而异,我不知道除 WAV 之外的任何格式交叉兼容;如果您有 OGG 和 MP3,您应该涵盖所有当前支持 HTML5 音频的浏览器)。这允许您通过 javascript 控制音频,并且在实现方面非常轻量级。这可能适用于现代浏览器,但对于 Internet Explorer 用户来说不是很好,因为没有那么多用户切换到 IE9。 example stats 基于 Flash 的播放器。这将允许您流式传输 MP3 或 FLA 音频。开发比纯 Javascript 更笨重,但您可能比 HTML5 音频具有更好的渗透性。在我有限的经验中,Flash 播放器需要一些时间来初始化,因此用户体验不如 HTML5 音频快。 本机浏览器插件。它们很老套,很可能不能跨平台工作。如果可以,请远离。

【讨论】:

【参考方案2】:

Flash 是最广泛使用的,NPR 和 Bandcamp 等网站就是证明。

如果您是程序员类型,Java 也可能是一个有效的选择。

无论哪种方式,我都建议使用<object> 标签,而不是<embed><applet>

flash 看:http://www.alistapart.com/articles/flashsatay

对于 Java,使用类似:

<object  
    type="application/x-java-applet"
    archive="containing.jar"
    classid="java:package.applet.class">
</object>

如果您想从文件夹而不是 jar 存档运行,则将 codebase 添加为 &lt;param /&gt; 而不是属性。

【讨论】:

以上是关于网站上的实时音频流的主要内容,如果未能解决你的问题,请参考以下文章

PCM音频实时播放:音频字节数组(16/8位)转为PCM ArrayBuffer流

如何将实时 RTMP 视频转换为实时 mp3 Icecast 流

手机之间的实时音频流

如何从实时流中播放音频

收听实时音频流

如何将实时音频流端点连接到直线语音端点?