Is it possible to stream music in the background with Adobe AIR for mobile?
Anyone know of 开发者_StackOverflow社区a way to do this in a cross-platform friendly way? So the app can keep streaming music while the app is in a background task?
I successfully did it on IPhone and IPad :-)
With Air 3.0 you can have background music thanks to the UIBackgroundModes UIKit Keys (http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html):
Just change your /src/-app.xml file like this:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/3.0"> <!-- changed from 2.7 to 3.0 -->
...
<iPhone>
<InfoAdditions><![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string> <!-- app will run on IPhone -->
<string>2</string> <!-- app will run on IPad -->
</array>
<key>UIBackgroundModes</key>
<array>
<string>audio</string> <!-- audio background mode key -->
</array>
]]></InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
</application>
Of course, you must have Air 3 SDK installed in order to use this feature. ATTOW, Air 3 SDK must be manually installed within Flash Builder 4.5. Installation procedure:
1. Locate the "old" SDKs
They are located in the Flash Builder directory, in my case this was c:\program files(x86)\adobe\flash builder 4.5\sdks
2. Make a copy of the previous SDK
Copy a previous SDK (I used SDK 4.5.1 for that) and rename the copied folder to AIR3SDK (or a different name if you like)
3. Overwrite the copied (!) SDK with the AIR3 SDK
Copy all files from the AIR3 SDK into the copied folder. It should ask you to overwrite files quite a couple of times. After this, you should have a working AIR3 SDK installed.
4. Set a name for the new SDK
I had to to this with the Beta2 - go to the new SDK directory and edit flex-sdk-description.xml - change the content from Flex 4.5.1 to AIR3 SDK.
5. Add the new playerglobal.swc from Flash Player 11
Download the current Flash Player 11 "playerglobal.swc" from http://labs.adobe.com/downloads/flashplayer11.html and put it into the correct folder. From the SDKs root folder this was: /frameworks/libs/player/11.0/ (I had to create the 11.0 folder myself and then just put the file in there and rename it to plain "playerglobal.swc")
6. Add the AIR3 SDK to Flash Builder
Under "Project Settings - Flex Compiler" for a project, choose the new SDK as SDK to use for the project. If the SDK does not show up, go to "configure Flex SDKs", then "Add" and select the newly created folder. The new AIR3 SDK should now be included in the dropdown list as a compiler for that project.
Don't forget to add -swf-version=13 as a compiler flag on the same screen.
After doing all this, I was able to use the new features, compile my projects and well, work with it
Air 3 SDK procedure source: http://forums.adobe.com/thread/899921
Not really. Though word on the street is that with AIR 3 we should be able to do some communication with native code. Don't know the extent of this yet or if we'll be able to stream in the bg.
精彩评论