0

我在将 MOV 文件加载到 Flash 9 中时遇到问题。当我用谷歌搜索这个问题时,我得到很多人说确定你可以做到,但没有人提供工作示例代码。

4

2 回答 2

2

以下来自http://en.wikipedia.org/wiki/Adobe_Flash#Flash_Video

闪光视频

Flash 视频(.flv 文件)是一种容器格式,这意味着它本身不是视频格式,但可以包含其他格式。Flash 中的视频采用 H.263 编码,从 Flash player 8 开始,它也可以采用 VP6 编码。音频为 MP3。由于 Flash Player 8 和 Flash Player 9 的大量采用率,VP6 的使用在许多公司中很常见。 [16]

2007 年 8 月 20 日,Adobe 在其博客上宣布,随着 Flash Player 9 的更新 3,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 第 14 部分),3GPP 定时文本规范(MPEG-4 第 17 部分),它是一种标准化的字幕格式和对“ilst”原子的部分解析支持,它是 iTunes 用于存储元数据的 ID3 等效原子。Adobe 还宣布,由于流式传输 H.264 时 FLV 结构的功能限制,他们将逐渐从专有的 FLV 格式转向标准 MP4 格式。

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 高的 Video 对象,并将其添加到显示列表中。

其次,我们实例化一个 NetConnection 对象并调用它的 connect 方法,传递 null 作为参数。(这是必需的)

第三,我们创建一个 NetStream 对象,将之前创建的 NetConnection 对象传递给它的构造函数。

第四,我们将 Video 对象的 attachNetStream 设置为 _ns,即我们实例化的 NetStream。

最后,我们调用 NetStream 对象的播放方法 _ns,并将其传递给我们的媒体所在的位置。(FLV/F4V/MOV/等)

希望这可以帮助。

于 2009-05-08T20:56:07.687 回答
0

与任何 FLV 相同,使用 NetStream(我不推荐它,它很难处理)或您可以找到的任何 AS3 视频播放组件,如 FLVPlayback 等......只要您的目标是 FP 9.0.115.0,并且该文件以 h264 和 MPEG-4 容器(如 mov、mp4、f4v 等)编码...

于 2009-10-14T14:51:27.433 回答