admin 管理员组

文章数量: 1087139


2024年3月20日发(作者:为什么用bigdecimal)

声音在Flash Player中

回声消除的最佳做法

原文查看

必备知识

需要先进的知识,在ActionScript中,Adobe Flash播放器和Adobe Flash Builder或Adobe Flash Professional中的音频。

用户级别

中级

所需产品

 Flash Builder中(下载试用版)

 Flash播放器

Adobe Flash Player 已经成为非常受欢迎的音频和视频的播放 ;事实上,大多数的互联网视频是使用

Flash Player 来查看的。Flash 播放器提供这两个一个丰富的观看体验和高效率、 高质量的视频播放,如纳

入技术先进的音频和视频压缩方案 (H.264、 MP3 和 AAC 编解码器)、 多才多艺的媒体功能 (多比特率流、

播放列表、 寻求,和其他功能) 和有效回放机制 (硬件解码和直接渲染)。

在桌面计算机上它无处不在的渗透和其在移动设备上的日益普及,已大量使用 Flash Player 的实时音频

和视频通信感兴趣。视频广播相比,然而,实时通信具有完全不同的要求。最重要的要求包括:

通信的终结点之间的最小化滞后时间

高质量、 有弹性错误语音编解码器

回声取消耳机免费体验

虽然 Flash Player 自 2002 年以来已有音频/视频功能和已用于 web 会议解决方案,例如Adobe 连接

和大的蓝色按钮,在作为例子,真正改变游戏规则的事件发生与版本的 Flash 播放器 10 2008 年推出的低

延迟传输协议和新的声音编解码器,使 Flash Player 非常适合用于实时通信。

在本文中,我将简要地描述实时通信和 Flash Player 如何满足这些需要的要求。我还会引入新的

ActionScript API 的使用增强的音频、 为您提供最佳做法和限制,并给你看一个示例应用程序。

实时通信的要求

2002 年,Flash 播放器 6 介绍了实时消息传递协议(RTMP) 和Nellymoser声音编解码器。Flash 通信服

务器 MX 的帮助下,一个能开发实时通信应用程序操作两个或多个 Flash Player 终结点之间。

RTMP 基于传输控制协议(TCP),它提供可靠的数据传输的价位的无界时滞 — — 这意味着它可以是任

意的高。无错误的传输接受的方式是通过重复丢失的数据包。如果数据包不迷路,延迟可能会非常高,因

为丢失的数据包需要得到本处。

Nellymoser 是一种专有的编解码器,提供低压缩效率和有限的行业的支持。由于 RTMP,音频邮件将

永远不会丢失,但可能会因网络或服务器问题排队。打击滞后时间积累,所谓追赶的机制被受雇于 Flash

Player,其中音频播放出比其自然采样速率更快。这种渐进延迟减少引入只有最小的音频失真不改变音调。

虽然 RTMP 非常适合广播和网络广播的应用程序 (那里没有严格的延迟要求),它具有有限适用性的

实时通信,数百个毫秒的延迟,可能导致谈话无法使用。在实时通信中,它是更重要的是尽量减少延误除

了继续保持无差错传输。大多数的音频和视频编码技术 (如H.264视频编解码器和Speex语音编解码器) 的

设计与网络传输错误的想法,可以处理它们。

Flash 播放器 10 介绍了实时媒体流协议(RTMFP)。与不同的 RTMP,RTMFP 基于用户数据报协议(UDP)。

RTMFP 启用要么可靠地发送数据 (使用重传) 或不可靠地。通过使用不可靠的传输,可以最小传输延迟。

此外,RTMFP 使直接的对等连接,不仅可以减少服务器的要求,可以进一步降低通信的终结点之间的延迟。

Flash 播放器 10 还介绍了Speex编码解码器。Speex 是一种开放源代码、 免版税的编解码器,得到业

界广泛支持。Flash 支持 Speex 编码在 16 kHz。此外,当 Speex 用于实时通信,使用 RTMFP 传输延迟最

小化。RTMFP 将 Speex 的所有邮件都传递到一个更高的层,只要他们在收到。Flash 播放器使用自适应

Speex抖动缓冲区播放出消息时。Adobe 还实施了 Speex 噪声抑制和语音活动检测,保持沉默期间尽量减

少传输带宽。

这些功能使实际开发使用 RTMFP 和 Speex 的实时通信应用程序。为可以接受的用户体验,与会者应

戴耳机以防止回声。当从计算机的扬声器的声音会反馈到麦克风声学回声时发生。使用耳机可能在企业环

境中,可以接受,但在消费空间中,用户通常使用网络摄像头或内置笔记本电脑麦克风是显然不可取。为

实现普遍适应,声学回声消除 (AEC) 是绝对必需的 IP 语音 (VoIP) 应用程序要求。AEC 是信使应用程序

(如 Skype 和 Google Talk) 和软电话 (如 Xlite) 中可用。

Adobe Flash 播放器 10.3 和 Adobe 空气 2.7 推行增强的音频,其中包括声学回声消除和降噪制止。

增强的音频是 Flash Player 和 AIR 所支持的所有桌面平台上可用。

增强的音频 API

我们已添加一个新 API 到 Flash 平台启用增强的音频。所有支持的 Flash Player 和 AIR 的桌面平台上

提供此功能。新的 API 才可用在 ActionScript 3。你必须在你的创作环境、 目标 Flash 播放器 10.3 或空气

2.7 (或以后) 和 SWF 版本 12,您必须更新你的 。下面的类会受到影响:

Microphone

: 一种新的静态方法添加到此类来创建增强麦克风和读/写属性用于配置增强的麦克

风选项。

MicrophoneEnhancedOptions

: 这个新的类允许您配置增强的麦克风设置。

MicrophoneEnhancedMode: 此新类枚举增强的麦克风操作模式。

将音频发送到另一个闪存终结点或 Flash 媒体服务器可以与只有几行代码的执行:

var netConnection:NetConnection = new NetConnection();

t("rtmfp:///rtc");

var netStream:NetStream = new NetStream(netConnection);

var microphone:Microphone = rophone();


本文标签: 音频 使用 视频 增强 传输