(我是Actionscript的新手,如果这是一个简单的问题,我很抱歉。)
我在Actionscript中做一个媒体播放器,我有以下类层次结构:
视频播放器将嵌入不同的应用程序中,并使用不同大小的容器。有没有办法让视频播放器根据父容器的大小调整大小(如html / swfobject中所定义)?
我使用Main类上的“scaleMode”属性,我设法根据容器使flash对象重新缩放,但视频的大小始终相同。
此外,我使用视频剪辑的元数据手动和自动更改了视频对象的“宽度”和“高度”属性,并且视频尺寸似乎是错误的 - 我有一个带有320x240的swfobject,当时我改变了视频的大小以匹配swfobject大小,它渲染得比320x240小得多。
提前感谢您的帮助。
答案 0 :(得分:0)
尝试这样的事情
// get the video aspect ratio
// 1.33 (4/3) | 640 x 480
// 1.77 (16/9) | 854 x 480
//trace(_video_width / _video_height);
videoAspectRatio = _video_width / _video_height;
// check if video is larger than stage
// check which is larger: height or width
// set video size as the largers of height or width
// if video is a 4/3 aspect ratio
if( videoAspectRatio < 1.4)
{
myVideo.width = _stageWidth / videoAspectRatio;
myVideo.height = myVideo.width / videoAspectRatio;
// if movie is still to small to the stage make it bigger
if(myVideo.height < _stageHeight)
{
myVideo.width = myVideo.width * (_stageHeight/myVideo.height);
myVideo.height = _stageHeight
}
}
else
{
myVideo.width = _stageWidth;
myVideo.height = _stageWidth / videoAspectRatio;
}