我在将MOV文件加载到Flash 9时遇到问题。当我回答问题时,我会收到很多人说你确定可以这样做,但是没有人提供可用的示例代码。
答案 0 :(得分:2)
以下内容来自http://en.wikipedia.org/wiki/Adobe_Flash#Flash_Video
Flash视频
Flash视频(.flv文件)是一种容器格式,这意味着它不是 视频格式本身,但可以包含其他格式。视频在 Flash在H.263中编码,从Flash Player 8开始,它可以 或者在VP6中编码。音频采用MP3格式。使用VP6 在许多公司中很常见,因为它的采用率很高 Flash Player 8和Flash Player 9. [16]
2007年8月20日,Adobe在其博客上宣布了更新3 Flash Player 9,Flash Video也将支持MPEG-4国际 标准[31]。具体来说,Flash Player将支持视频 在H.264(MPEG-4 Part 10)中压缩,使用AAC压缩音频 (MPEG-4 Part 3),MP4,M4V,M4A,3GP和MOV多媒体容器 格式(MPEG-4 Part 14),3GPP Timed Text规范(MPEG-4 Part 17)这是标准化的字幕格式和部分解析 支持'ilst'原子,这是iTunes使用的ID3等价物 存储元数据。 Adobe也宣布将逐步推出 从专有FLV格式转向标准MP4格式 由于流式传输时FLV结构的功能限制 H.264。支持MPEG-4的Flash Player的最终版本已经发布 将于2007年秋季上市。[32]
package com.yourdomain.packageName
{
import flash.display.Sprite;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
public class DocumentClass extends Sprite
{
private var _video:Video;
private var _nc:NetConnection;
private var _ns:NetStream;
public function DocumentClass():void
{
_video = new Video(800, 600);
addChild(_video);
_nc = new NetConnection();
_nc.connect(null);
_ns = new NetStream(nc);
_video.attachNetStream(_ns);
_ns.play("path/to/file.extension");
}
}
}
- 这是一个非常基本的实现,不包括元数据的处理。
首先,我们实例化一个800宽600高的视频对象,然后将其添加到显示列表中。
其次,我们实例化一个NetConnection对象并调用它的connect方法,将null作为参数传递。 (这是必需的)
第三,我们创建一个NetStream对象,将之前创建的NetConnection对象传递给它的构造函数。
第四,我们将Video对象的attachNetStream设置为_ns,即我们实例化的NetStream。
最后,我们调用NetStream对象的play方法_ns,并将字符串传递给我们的媒体所在的位置。 (FLV / F4V / MOV /等)
希望这有帮助。
答案 1 :(得分:0)
与任何FLV一样,使用NetStream(我不推荐它,它很难处理)或任何你可以找到的AS3视频播放组件,如FLVPlayback等...只要你定位FP 9.0。 115.0,文件在h264和MPEG-4容器中编码,如mov,mp4,f4v等......