我想在iPad上播放视频,我的代码如下:
public function init_RTMP():void
{
videoURL = "http://rest************_iphone_high.mp4";
vid = new Video();
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
nc.connect(null);
}
private function onConnectionStatus(e:NetStatusEvent):void
{
if (e.info.code == "NetConnection.Connect.Success")
{
trace("Creating NetStream");
netStreamObj = new NetStream(nc);
metaListener = new Object();
metaListener.onMetaData = received_Meta;
netStreamObj.client = metaListener;
netStreamObj.play(videoURL);
vid.attachNetStream(netStreamObj);
addChild(vid);
}
}
当我在我的系统上播放它时工作正常,但是当我创建它的IOS应用并安装在设备上时,它会显示白色的空白屏幕。
如果有任何人有同样的问题或任何想法,请与我分享。
答案 0 :(得分:4)
正如VC.One指出的那样,AIR for iOS不能播放大多数(但不是全部,它偶尔会播放非常特定的编码类型)h.264编码视频。有三种解决方案:
StageWebView
,在这种情况下,您只需插入视频的网址,它就会使用原生视频播放器播放视频。这有一个缺点,你不能模仿他的球员,你无法控制它。一旦开始播放,除了卸载页面外,您无法控制它。然而,这非常有效,并且相当容易实现,但视频将出现在舞台的顶部(Display List
中的不)。StageVideo
。这将使用本机框架播放视频,因此您可以轻松播放h.264 和它将是硬件加速。此外,这只是一个NetStream播放器,因此您可以完全控制它。最好的是,它没有铬,所以你可以在视频屏幕周围建立一个播放器。但是,与StageWebView一样,StageVideo在Display List
中不。但与StageWebView不同,它直接在舞台上呈现,在之下。所以应用程序本身将涵盖视频。您可以通过创建一个类来围绕视频屏蔽您的应用程序来解决这个问题,但要正确启动它是非常困难的。我花了大约12个小时来创建我的StageVideo播放器和屏蔽类,另外半天后修复了屏蔽类的问题以及它如何处理DPI更改(提示:如果使用Flex,请不要设置applicationDPI
)与往常一样,请确保您的AIR SDK也是最新的。 3.5-3.7已经为iOS应用程序添加了大量新功能和错误修复,因此更新到AIR 3.7可能实际上解决或使您的问题不再是一个问题(我不认为它会,但它总是值得一个拍了吧?)
答案 1 :(得分:0)