Netstream视频无法在iPad上播放

时间:2012-06-14 11:30:20

标签: actionscript-3 air

我正在使用Flash CS6构建一个iPad应用程序,以便在PC上编译为AIR 3.3。

应用程序要求之一是可以与其他显示元素重叠的视频播放器 - 主要用于字幕。

我正在使用Netstream播放MP4视频(也尝试过FLVPlayer,结果相同) 编译后在模拟器中运行时一切正常,但是在我的测试设备上安装了视频 - iPad 3 (几个月前我做了一个简单的测试,用音频正确播放了视频,但那是CS5.5,AIR 3.1,iPad 2.我会回到这个设置,但我显然也需要支持iPad3 ...... )

所以,先说几个简单的问题...... 有同样问题的人吗? 你知道iOS最近有什么改变阻止AIR播放视频吗?

我执行通常的netstream / netconnection内容然后将File.url传递给netstream.play()
以下是代码的内容:

var nc:NetConnection = new NetConnection();
var ns:NetStream;
var vid:Video = new Video();
var videoFile:File;
videoFile = File.applicationDirectory;
videoFile = videoFile.resolvePath(Config.VIDEO_DIRECTORY + 'myVideo.mp4');
nc.connect(null);
ns = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus, false, 0, true);
ns.client = this; // To handle onMetaData & onXMPData
vid.attachNetStream(ns);
vid.smoothing = true;
addChild(vid);
ns.play(videoFile.url);

发布设置为:

  

硬件加速:: 2级 - GPU(也试过Direct)
  渲染模式:: GPU(也尝试过Direct)
  Device :: iPad
  Resolution :: High(也尝试过Standard)
  包含的文件:: app.swf,app.xml,带有视频/图像的资产目录(图像加载正常)(尝试直接包括.mp4而不是在目录中,没有区别)

你们任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

好的,修好了。

以上代码都正确(完美运行),但视频文件错误。

我仍然不明白为什么,并欢迎一些回应,但我已切换到.flv格式的视频,它工作正常。

我测试的文件是针对iPad进行编码的,并且在桌面上的AIR中播放时运行正常,并且在导入到iPad并进行本地播放时。

对mp4的编码预设(我正在运行Adobe Media Encoder)的任何见解都会很有趣。

答案 1 :(得分:0)

当我开始使用AIR 3.3时,我遇到了同样的问题。当我尝试播放视频时,应用会崩溃。

当我回到AIR 3.1时,问题消失了,并且再次能够播放h.264 MP4视频没有问题。

根据以下链接,AIR 3.3中似乎存在一个错误,据推测,当3.4发布时,它将被修复。 @See https://bugbase.adobe.com/index.cfm?event=bug&id=3210031

答案 2 :(得分:0)

我有相同的解决方案,它适用于构建中包含的视频。但是,如果我从我的服务器(http)流式传输flv没有任何反应......