`

怎么获取flv文件的高宽

阅读更多
找网上搜了一段,利用回调函数获取的

client指定对其调用回调方法以处理流或 FLV 文件数据的对象。默认对象为 this,将创建 NetStream 对象。如果将 client 属性设置为另一个对象,则将对该对象调用回调方法。NetStream.client 对象可以调用以下函数并接收关联的数据对象:onCuePoint()、onImageData()、onMetaData()、onPlayStatus()、onTextData() 和 onXMPData()。

例 :

var video:Video = new Video();
this.addChild(video);

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatus_ns);
function netStatus_ns(obj:Object):void
{
    trace(obj.info.code);
    /*结果:
    NetStream.Buffer.Empty
    NetStream.Buffer.Full*/
}
ns.play("ffTrailer.flv");

var meta:Object = new Object();
meta.onMetaData = function(meta:Object)
{
    for (var i:String in meta)
    {
        trace("meta 属性" + i +": 值" + meta[i]);
        /*结果:
        meta 属性height: 值240
        meta 属性canSeekToEnd: 值true
        meta 属性audiodatarate: 值96
        meta 属性width: 值320
        meta 属性audiodelay: 值0.038
        meta 属性duration: 值44.251
        meta 属性videodatarate: 值700
        meta 属性framerate: 值29.939987182617188
        meta 属性videocodecid: 值4
        meta 属性audiocodecid: 值2*/
    }
}
ns.client = meta;
video.attachNetStream(ns);








问题
我想改变视频的显示尺寸
解决办法
设置Video对象的width和height属性,如果要根据视频编码时的尺寸播放,可使用videoWidth和
videoHeight值
讨论
视频尺寸是由Video对象的width和heigh属性决定的。当构造Video对象时可指定宽度和高度,例
如,初始化视频尺寸为160x120:
var video:Video = new Video(160, 120);
通过width和height属性可以任意改变尺寸大小,如:
video.width = 320;
video.height = 240;
Video类还定义了两个只读属性,videoWidth和videoHeight,他们返回视频编码时的尺寸,可以
用这两个属性设置width和height属性:
video.width = video.videoWidth;
video.height = video.videoHeight;
需要注意的是,flv还没下载之前这两个属性是不可用的,因此必须等两个属性可用时才可,我
们可监听netStatus事件达到目的:
videoStream.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
private function onStatus(event:NetStatusEvent):void {
if(_video.videoWidth > 0 && _video.width != _video.videoWidth) {
_video.width = _video.videoWidth;
_video.height = _video.videoHeight;
}
}





onMetaData 是一种办法, 如果视频没有元数据, 那就得侦测videoWidth和videoHeight, 如果不为0, 那就是视频的高宽了
分享到:
评论

相关推荐

    Java爬虫+URL获取Img高宽.zip

    本项目“Java爬虫+URL获取Img高宽”专注于一个特定的应用场景,即通过Java爬虫从网页中提取图片(Img)的URL,并进一步获取这些图片的宽度和高度。这个功能在网站数据分析、图像处理或自动化测试等场景中具有重要...

    javascript获取网页各种高宽及位置的方法总结.docx

    ### JavaScript 获取网页各种高宽及位置的方法总结 #### 屏幕尺寸相关属性 - **`screen.width`**:表示屏幕的宽度(以像素为单位)。 - **`screen.height`**:表示屏幕的高度(以像素为单位)。 - **`screen....

    C++获取jpg和png图像的宽和高

    在C++编程中,获取JPEG和PNG图像的宽度和高度是一项常见的任务,这对于图像处理、图形用户界面(GUI)设计或者任何与图像显示相关的应用都至关重要。这两种图像格式都有其特定的存储结构,因此需要通过解析文件来...

    爬虫+URL获取Img高宽

    在IT行业中,网络爬虫是一种自动化程序,用于从互联网上抓取信息,而获取图片(Img)的高度和宽度是爬虫应用的一个常见场景。在Java编程语言中,我们可以利用HTTP库来请求网页,然后解析HTML内容,从而获取到图片的...

    【最新】C++ 控制台程序,获取bmp, png, jpg图片的宽高值

    JPG文件使用的是JPEG流式编码,需要解析SOF(Start Of Frame)标记来获取图像尺寸。 在实际编程中,我们可以使用第三方库如OpenCV、FreeImage、Pillow等,它们已经封装了读取和解析这些图像格式的接口,可以方便地...

    JS获取IMG图片高宽的简单实例

    不管用什么样的方法都无法获取到IMG标签的高宽,最后只有给图片定一个高宽的比例值;趁今天有空我就写了几个demo测试了下,找了下原因;且听我细细说来,如有哪里说的不对的,欢迎拍砖~~~  首先获取高宽的方法具...

    javascript获取网页各种高宽及位置的方法总结

    获取屏幕的高宽(分辨率) screen.width //屏幕的宽 screen.height //屏幕的高 screen.availWidth //屏幕可用宽度 屏幕的像素高度减去系统部件高度之后的值 screen.availHeight //屏幕可用高度 屏幕的像素宽度减去...

    CAD定制家具平面图工具-获取矩形高宽

    这是一个autoCAD的插件,加载后输入mmm命令就可以运行,它让用户选取图形,从中筛选出红色的图形,比如矩形,多线段等,然后计算出图形的高宽显示出来,可复制粘贴到excle电子表格中编辑。会自动相加相同高宽图形的...

    什么是高宽课程.doc

    高宽课程是一种以儿童为中心,注重主动学习的幼儿园课程模式,它的核心理念是让孩子们通过积极参与,主动探索,从而对周围的世界产生高度的热情和广泛的兴趣。这种课程模式围绕着五个主要内容领域,即“学习方式”、...

    Js操作DOM元素及获取浏览器高宽的简单方法

    `getElementById`方法是获取具有唯一ID的元素的常用方式,例如`document.getElementById('myElementId')`。`getElementsByTagName`则可以返回具有特定标签名的所有元素的集合,如`document.getElementsByTagName('...

    c++获取jpg图片的尺寸

    要获取JPEG图片的尺寸,通常需要解析其文件结构,因为尺寸信息存储在文件的头部。 JPEG文件的结构基于JPEG规范,即ISO/IEC 10918-1。它由一系列称为“标记”(Markers)的数据段组成,这些标记指示了图像的各个部分...

    java使用Xuggler获得视频时长,分辨率,高宽,码率等信息

    Java编程语言在处理多媒体文件,特别是视频文件时,常常需要获取诸如时长、分辨率、高宽比以及码率等关键信息。Xuggler是一个强大的开源库,专为处理音视频数据而设计,它提供了丰富的API,使得在Java环境中解析和...

    raw格式文件读取程序

    RAW格式文件,通常用于数码相机原始图像数据存储,包含了相机传感器捕获的未经处理的光信息,具有极高的细节保留能力和后期处理空间。本项目旨在实现一个RAW格式文件的读取程序,支持不同宽高和位数的RAW文件,并...

    php读取flash文件高宽帧数背景颜色的方法

    在PHP中,要读取Flash(SWF)文件的高宽、帧数和背景颜色等信息,可以使用自定义类来解析SWF文件的二进制数据。以下是一个实例,展示了如何实现这一功能: 首先,我们需要创建一个名为`flash`的类,这个类将包含...

    C#读取视频的宽度和高度等信息的方法

    例如,下面的`GetMovWidthAndHeight`方法接收视频文件的路径,并通过FFmpeg获取其宽度和高度: ```csharp public static void GetMovWidthAndHeight(string videoFilePath, out int? width, out int? height) { ...

    限定高宽压缩图片工具

    限定高宽压缩图片工具 1、在下工具的下面 点击“开始压缩”按钮 开始压缩。 2、添加文件夹时会子文件夹下的图片添加到列表里。 但是输出 直到一个你指定的文件夹下。 不会建立子文件夹。因此 主要子文件夹。 3、若...

    bmp文件的读取

    3. **从文件中读取像素数据**:现在你可以使用`CDC`类来绘制或获取BMP的像素数据。首先创建一个设备上下文(`CDC`),然后使用`CreateCompatibleDC`创建一个兼容的设备上下文,接着使用`SelectObject`将`CBitmap`选...

Global site tag (gtag.js) - Google Analytics