2012-01-18 103 views
0

我需要使用浏览器中的Flash对象从麦克风捕捉音频,并实时流式传输到Flash Media Server。 Flash Media Server将反过来将音频直播给用户。我必须使用Flash Media Encoder吗?

我是否必须使用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?

回答

0

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

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

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

Flash播放器带有一组编码器,可以让您捕捉和编码视频,以便以后可以发送视频,以及一组解码器,可以从某些格式读取视频或音频,以便能够显示它玩家。

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

+0

谢谢! 我找到了这个链接,它显示了如何使用麦克风: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html – realPro 2012-01-18 10:44:32

相关问题