我必须使用Flash Media Encoder吗?

时间:2012-01-18 02:01:02

标签: flash flash-media-server

我需要使用浏览器中的Flash对象从麦克风捕获音频,并将其直播到Flash Media Server。 Flash Media Server将依次向用户直播音频。

我是否必须使用Flash Media Encoder来捕获音频?是否可以捕获音频而无需安装Flash Media Encoder并以某种方式将其传输到Flash Media Server?

我是Flash的新手,所以欢迎任何答案!

我看到这个链接: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html

•Call NetStream.play() to play a media file from a local disk, a web server, or Flash Media Server.
•Call NetStream.publish() to publish a video, audio, and data stream to Flash Media Server.
•Call NetStream.send() to send data messages to all subscribed clients.
•Call NetStream.send() to add metadata to a live stream.
•Call NetStream.appendBytes() to pass ByteArray data into the NetStream.

这些功能是什么?我可以在SWF中调用这些,还是需要Flash Media Encoder?

1 个答案:

答案 0 :(得分:0)

Flash Media Encoder是“资产编译器”或“代码转换器”,或者换句话说,是将SWF与SWF使用的媒体资源打包在一起所需的程序。例如,它将多种视频格式转换为FLV(稍后可由SWF使用)。

您可能完全不需要它,或者,根据您选择编译SWF的工具,您可能需要它进行开发(例如,将媒体资源嵌入到您创建的程序中)。

通常使用其他库来进行编码/解码。例如,要将大量视频格式编码为FLV,您可以使用ffmpeg。

Flash播放器附带一组编码器,可让您捕获和编码视频以便以后发送,以及一组解码器,可以读取某些格式的视频或音频,以便您能够在播放器。

您发布的链接来自ActionScript 3语言参考。 ActionScript是一种主要用于在Flash Player环境中运行的编程语言。 Flash Player环境(也称为虚拟机或AVM)是一组库,您可以通过在将该文件加载到播放器时从SWF文件调用它来访问它们。 AVM API上没有单独的文档,但AS3和AVM连接紧密,您可以将语言API视为与AVM API相同。所以,回答你的问题:这些函数是AVM中公开的API,可以通过创建NetStream类型的对象(它只是AVM中公开的另一个API)来访问它们。您不需要Flash Media Encoder来调用这些API。但是,您需要一个编译器来创建SWF文件(存在多个选项,来自不同开发人员的不同许可证)。