如何将MOV文件加载到Flash 9中

时间:2009-05-08 14:57:52

标签: flash actionscript-3 quicktime movie

我在将MOV文件加载到Flash 9时遇到问题。当我回答问题时,我会收到很多人说你确定可以这样做,但是没有人提供可用的示例代码。

2 个答案:

答案 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等......