Apache flex 在上传到服务器之前获取flv长度

Apache flex 在上传到服务器之前获取flv长度,apache-flex,flash,actionscript-3,flv,Apache Flex,Flash,Actionscript 3,Flv,我正在使用FileReference类将FLV上载到服务器。 是否可以在允许上传之前检查flv长度而不是大小?您的目标是Flash Player 10单独还是更低版本?因为较低版本的Flash player 9 etc不允许上传SWF读取除creationDate、creator、Macintosh creator文件类型、修改日期、名称、字节大小和类型以外的文件内容,所以您无法在这些播放器上执行此操作 如果您仅针对FP10用户,您可以将FLV导入SWF中的ByteArray,并 使用FLV播放

我正在使用FileReference类将FLV上载到服务器。
是否可以在允许上传之前检查flv长度而不是大小?

您的目标是Flash Player 10单独还是更低版本?因为较低版本的Flash player 9 etc不允许上传SWF读取除creationDate、creator、Macintosh creator文件类型、修改日期、名称、字节大小和类型以外的文件内容,所以您无法在这些播放器上执行此操作

如果您仅针对FP10用户,您可以将FLV导入SWF中的ByteArray,并

使用FLV播放器播放,并从播放器读取持续时间属性。但我找不到一个以字节数组作为输入的FLV播放器——在阅读了SO之后,这似乎根本不可能。 解析FLV文件,并从其元数据中读取duration属性。这是开放的,但这并不容易。 评论的最新情况: FLV文件规范摘录:

关于元数据 FLV文件可以包含带有“onMetaData”标记的元数据。各种流属性 可通过NetStream.onMetaData属性供运行的ActionScript程序使用。 可用属性因使用的软件而异。 共同财产包括:

持续时间:一个双精度值,表示文件的总持续时间(秒) 宽度:以像素为单位指示视频宽度的双精度字符 高度:以像素为单位指示视频高度的双精度字符 videodatarate:表示视频比特率的双精度值,单位为千比特每秒 帧速率:指示每秒帧数的双精度值 videocodecid:一个双精度字符,指示文件中使用的视频编解码器ID。请参见“视频” 第8页上的“标签”,以获取可用的CodecID值 audiosamplerate:一个双精度值,指示音频流的传输频率 重播 audiosamplesize:表示单个音频样本分辨率的双精度值 立体声:指示数据是否为立体声的布尔值 audiocodecid:一个双精度字符,指示文件中使用的音频编解码器ID请参见“音频” 第6页上的“标签”,以获取可用的SoundFormat值 filesize:一个双精度值,表示文件的总大小(字节)
FLV文件可以包含元数据-它没有说它将包含元数据。它还表示,可用属性可能因用于创建FLV的软件而异。因此,我想根据规范,无法保证duration属性会存在。也就是说,持续时间是FLV的基本属性之一,可以安全地假设任何合理的软件都会包含它。

您的目标是Flash Player 10单独还是更低版本?因为较低版本的Flash player 9 etc不允许上传SWF读取除creationDate、creator、Macintosh creator文件类型、修改日期、名称、字节大小和类型以外的文件内容,所以您无法在这些播放器上执行此操作

如果您仅针对FP10用户,您可以将FLV导入SWF中的ByteArray,并

使用FLV播放器播放,并从播放器读取持续时间属性。但我找不到一个以字节数组作为输入的FLV播放器——在阅读了SO之后,这似乎根本不可能。 解析FLV文件,并从其元数据中读取duration属性。这是开放的,但这并不容易。 评论的最新情况: FLV文件规范摘录:

关于元数据 FLV文件可以包含带有“onMetaData”标记的元数据。各种流属性 可通过NetStream.onMetaData属性供运行的ActionScript程序使用。 可用属性因使用的软件而异。 共同财产包括:

持续时间:一个双精度值,表示文件的总持续时间(秒) 宽度:以像素为单位指示视频宽度的双精度字符 高度:以像素为单位指示视频高度的双精度字符 videodatarate:表示视频比特率的双精度值,单位为千比特每秒 帧速率:指示每秒帧数的双精度值 videocodecid:一个双精度字符,指示文件中使用的视频编解码器ID。请参见“视频” 第8页上的“标签”,以获取可用的CodecID值 audiosamplerate:一个双精度值,指示音频流的传输频率 重播 audiosamplesize:表示单个音频样本分辨率的双精度值 立体声:指示数据是否为立体声的布尔值 audiocodecid:一个双精度字符,指示文件中使用的音频编解码器ID请参见“音频” 第6页上的“标签”,以获取可用的SoundFormat值 filesize:一个双精度值,表示文件的总大小(字节) FLV文件可以包含元数据-它没有说它将包含元数据。它还表示,可用属性可能因用于创建FLV的软件而异。因此,我想根据规范,无法保证duration属性会存在。Th
在上述情况下,持续时间是FLV的基本属性之一,可以安全地假设任何合理的软件都会包含它。

您可以在调用浏览之后,在调用上载到用于播放视频的NetStream之前,使用它来提供FileReference.data。从那里,可以从元数据中获取持续时间,如本线程其他部分所述。请注意,此方法至少需要Flash Player 10。

您可以在调用浏览之后,在调用上载到用于播放视频的NetStream之前,使用来提供FileReference.data。从那里,可以从元数据中获取持续时间,如本线程其他部分所述。请注意,此方法至少需要Flash Player 10。

非常感谢您的帮助。我想知道当长度元数据不存在时,它们是否会出现。你有没有遇到过这个问题,或者我可以安全地假设数据总是可用的?再次感谢你的帮助。如果您需要任何兼职flex或.net工作,请告诉我。非常感谢您的帮助。我想知道当长度元数据不存在时,它们是否会出现。你有没有遇到过这个问题,或者我可以安全地假设数据总是可用的?再次感谢你的帮助。如果您需要任何兼职flex或.net工作,请告诉我。