当通过StageWebView Air组件加载Youtube视频时,我需要将视频缩小到视口大小,显示黑条是好的,但我最终看到的是视频原始大小的裁剪版本。
我没有看到任何可以使用的额外参数,API似乎非常有限。
有关如何播放视频的任何想法,即使源较大,我也可以将其调整为视口大小?
答案 0 :(得分:1)
通常我会在 other Answer 中显示Youtube(但会加载您可能不需要的Flash Player版本)。 PS:请记住它对Flash Player使用.com/v/VID_ID
或对HTML5播放器使用.com/embed/VID_ID
。
任何有关如何播放视频的想法,即使来源较大,我也可以 将其大小调整为视口大小?。
你说你的代码与发布为答案的Android示例相似吗?为什么不尝试打开iframe
,因为这样会允许调整大小选项?
自定义尺寸Youtube iframe的示例...
<iframe width="800" height="600" src="https://www.youtube.com/embed/"+ VID +"?autoplay=1" frameborder="0" allowfullscreen></iframe>
要在iframe中打开,您必须按代码制作动态网页。以下代码未经测试,但基于Adobe论坛的 this idea 。只是一个起点,你可以调整/修复......
var html_Dynamic : String;
html_Dynamic = "<!DOCTYPE HTML>" +
"<html>" +
"<body>" +
"<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 100%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"https://www.youtube.com/embed/" +
VID + "?fs=0\" frameborder=\"0\">\n" + "</iframe>\n";
"</body>" +
"</html>";
答案 1 :(得分:0)
我在Android上使用此代码试一试:(它调整页面大小)
import flash.display.MovieClip;
import flash.media.StageWebView;
import flash.geom.Rectangle;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.system.Capabilities;
this.visible = false ;
var webView: StageWebView = new StageWebView();
webView.stage = stage;
function videoing(VID): void {/// VID is the video id
stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
var vidLink:String = "https://www.youtube.com/embed/"+ VID +"?autoplay=1" ;
trace(vidLink);
webView = new StageWebView();
webView.stage = this.stage;
webView.viewPort = new Rectangle(-(stage.stageHeight/2)+100,0, stage.stageHeight*2+40 , stage.stageWidth*2 - 160);
webView.loadURL(vidLink);
this.stage.focus = stage;
}
//////////////// dispose the video ///////////////////////
exit_btn.addEventListener(KeyboardEvent.KEY_DOWN, fl_OptionsMenuHandler);
function fl_OptionsMenuHandler(event: KeyboardEvent = null ): void {
if ((event.keyCode == Keyboard.BACK) && (webView)) {
event.preventDefault();
webView.stage = null;
webView.dispose();
webView = null ;
stage.setAspectRatio(StageAspectRatio.PORTRAIT);
}
}
在Android上,它需要添加
<application android:hardwareAccelerated="true"/>