Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我必须使用Flash媒体编码器吗?_Flash_Flash Media Server - Fatal编程技术网

我必须使用Flash媒体编码器吗?

我必须使用Flash媒体编码器吗?,flash,flash-media-server,Flash,Flash Media Server,我需要使用浏览器中的flash对象从麦克风捕获音频,并将其实时流式传输到flash Media Server。Flash媒体服务器将向用户直播音频 我是否必须使用Flash Media Encoder来捕获音频?是否可以在不安装Flash Media编码器的情况下捕获音频,并以某种方式将其传输到Flash Media服务器 我对Flash是全新的,所以欢迎任何答案 我看到这个链接: 这些功能是什么?我可以从SWF内部调用这些,还是需要Flash Media Encoder?Flash Medi

我需要使用浏览器中的flash对象从麦克风捕获音频,并将其实时流式传输到flash Media Server。Flash媒体服务器将向用户直播音频

我是否必须使用Flash Media Encoder来捕获音频?是否可以在不安装Flash Media编码器的情况下捕获音频,并以某种方式将其传输到Flash Media服务器

我对Flash是全新的,所以欢迎任何答案

我看到这个链接:

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

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

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

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

FlashPlayer附带一组编码器,允许您捕获和编码视频,以便稍后发送;还有一组解码器,可以读取特定格式的视频或音频,以便您能够在播放器中显示


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

谢谢!我找到了这个链接,它显示了如何使用麦克风:
•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.