Question

I am developing an advertisement application which plays multiple videos. I have faced a very strange problem: nor the simple Video nor the StageVideo are not visible when I run the app on target android device. Even FLVPlayback is not visible. I can hear the audio but the only way to get the video is to press back button and then get back to app. In this case the video is displayed on the top of the rest display objects. This happens only on a target device which is a chinese sibo android tablet. It has android 4.1 on board. As I see a lot of people had the similar issue with different devices: http://forums.adobe.com/message/5429125

but the solution they have mentioned there -adding true to the manifest xml doesn't fix my issue.

Adobe also advises to do it http://forums.adobe.com/message/4914005

I am using adobe air 4.0 sdk and the air 4.0 runtime on the device. I have tried to change renderMode to CPU/Direct/Auto but it doesn change anything. The other three android devices I have - toshiba thrive tablet(4.0.4)/ eken tablet(4.2.2)/ htc desire c smartphone(4.0.3) play all the video content just fine.

I guess the problem is re: their custom firmware(it auto hides all system bars..etc in order to make it work in 'kiosk' mode) but wanted to try all the variants before give up on this.

Any advice will be highly appreciated.

Thanks, Max

Was it helpful?

Solution 2

I have found a way how to force this unfriendly tablet to play the video in Adobe Air app by encoding it into FLV format and then embedding it into a swf via Flash pro. In this case I had to sync the app and video framerate(24fps). I have also set usingVideo flag to false in app descriptor. Playback quality and performance are not very good but it's the only working method at the moment - I guess those can be improved by tweaking flv encoder params.

Update 4/3/2014

As the video playback embedded into swf was awful on the target device I have decided to download all the android versions of air runtimes starting from 3.1 and test normal video playback on these. Finally I have got the following results:

3.1.0.557 - NO

3.2 - YES

3.3.0.365 - YES

3.4.0.254 - NO

3.5.0.60 - NO

3.6.0.609 - NO

3.7.0.186 - NO

3.8.0.147 - NO

3.9.0.141 - NO

4.0 - NO

In the end I have found the solution - I have uninstalled all modern versions downloaded from google play and installed 3.3.0.365. I think my experience can be useful for those who develop AIR apps for android where target devices are noname low-end android tablets.

PS. I found another possibility to make video playing by using an swf embedded into an html page and displayed by StageWebView but this method has so much obstacles(FP security rules, ExternallInterface barriers) so it has no sense to implement it.

OTHER TIPS

After hours of scouring I did find a solution for AIR 4.6.0.

add backgroundAlpha to application node in the FLEX xml:

<s:Application backgroundAlpha="0.0" ... >

in the app.xml, change the namespace to highest version (3.7)

<application xmlns="http://ns.adobe.com/air/application/3.7">

and under the <android> node, add this

<containsVideo>false</containsVideo>

these are the references I found:

https://community.adobe.com/t5/flash-player/12-11-2012-air-3-5-runtime-and-sdk-update/td-p/4661723

https://help.adobe.com/en_US/air/build/WSfffb011ac560372f2fea1812938a6e463-8000.html#WS1B1ABBB6-F1D9-43f0-BC3E-0135F15FFAC4

No video when using spark VideoPlayer AS3

https://issues.apache.org/jira/browse/FLEX-33856

https://issues.apache.org/jira/browse/FLEX-33896

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top