Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在AdobeAIR for android中实现stagevideo?_Actionscript 3_Apache Flex_Air - Fatal编程技术网

Actionscript 3 如何在AdobeAIR for android中实现stagevideo?

Actionscript 3 如何在AdobeAIR for android中实现stagevideo?,actionscript-3,apache-flex,air,Actionscript 3,Apache Flex,Air,我一直在为我的客户在AdobeAIR中开发基于桌面的应用程序,该应用程序使用mx:videoDisplay和播放列表中的图像播放视频。现在,他也需要同样的应用程序,同样的代码库在空中为安卓系统 我能够使该应用程序的APK。但他希望StageVideo播放这些视频。 我找了一下,找到了这个(http://www.adobe.com/devnet/flashplayer/articles/stage_video.html)文章和示例代码,但在我的案例中找不到这个。 有人能帮我吗?我的时间很短。根据我

我一直在为我的客户在AdobeAIR中开发基于桌面的应用程序,该应用程序使用mx:videoDisplay和播放列表中的图像播放视频。现在,他也需要同样的应用程序,同样的代码库在空中为安卓系统

我能够使该应用程序的APK。但他希望StageVideo播放这些视频。 我找了一下,找到了这个(http://www.adobe.com/devnet/flashplayer/articles/stage_video.html)文章和示例代码,但在我的案例中找不到这个。
有人能帮我吗?我的时间很短。

根据我的测试,
StageVideo
只在安卓4.0+上工作。它在2.3版中肯定不起作用,我也无法让它在3.0版上运行,尽管这可能是因为我们可以测试的平板电脑不太起眼

您还必须使用GPU或直接渲染模式。在这里使用CPU或Auto(当前默认为CPU)将不起作用。这也会导致一些问题,因为并非所有Android设备都支持GPU或直接渲染,而且GPU渲染也有自己的怪癖(比如不允许半透明像素)

另一件值得注意的事情是:StageVideo不在显示列表中。它是直接在舞台上呈现的,舞台在一切的下方。因此,如果你试图将它放在你的应用程序中,舞台上的其他一切都将覆盖它。为了解决这个问题,我创建了一个自定义类,该类不断地提取一个掩码,然后应用于我的顶级容器。这个面具在我的应用程序上打了一个洞,这样就可以看到视频播放器了


StageVideo无疑是一款流畅的、出色的演奏家,但最终它的实现确实是一件痛苦的事情。除非您的客户绝对要求您使用它,否则我建议您坚持使用VideoDisplay或根据OSMF软件包制作您自己的视频播放器。

Hi Apocalyptic0n3,您能告诉我如何将stagevideo带到前台吗?这并不容易。基本上,您需要创建一个遮罩(我创建了一个具有四个可调整大小的矩形的类),该遮罩覆盖舞台上的所有内容,但视频播放器将占用的区域除外。然后将该遮罩应用于顶级容器,您应该能够看到视频播放器。作为一个小技巧,在视频播放器将显示的区域中创建一个黑色矩形,如果它是一个正常的显示对象,并根据该矩形调整所有内容的大小/位置,包括视频播放器(
localToGlobal
是您的朋友)