【问题标题】:AIR 2.7 for iOS playing audio in the background?AIR 2.7 for iOS 在后台播放音频?
【发布时间】:2011-06-23 17:03:19
【问题描述】:

更新

借助最新的 Adob​​e AIR 3 Beta,Adobe 将此功能添加到他们的 SDK 中。

http://labs.adobe.com/technologies/flashplatformruntimes/air3/

iOS 后台音频播放支持 — 开发人员现在可以编写多任务 iOS 应用程序,在后台播放音频,包括来自会议应用程序的音乐或语音聊天。

--------- 原帖---------

借助新版本的 AIR SDK 2.7 和 Flash Builder 4.5.1,您可以“利用 iOS 4 中的新功能,例如多任务处理……”(来自http://www.adobe.com/products/air/features/

搜索了一下,我发现这个“多任务处理”不包括真正的后台进程,比如在应用程序在后台时播放音频!

我知道这是新功能,但有人知道是否可以在后台继续播放音频吗?

【问题讨论】:

    标签: ios flash actionscript-3 air flash-builder


    【解决方案1】:

    借助 UIBackgroundModes UIKit Keys,您可以使用 Air 3.0 获得背景音乐 (http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/ iPhoneOSKeys.html):

    只需像这样更改 /src/-app.xml 文件:

    <?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>
    

    在 iPhone 4 和 iPad 1 上成功测试。

    当然,您必须安装Air 3 SDK才能使用此功能。 Air 3 随附 FB 4.6。

    如果使用 FB 4.5,Air 3 SDK 必须手动安装在 Flash Builder 4.5 中。安装程序:

    1.找到“旧”SDK

    它们位于 Flash Builder 目录中,在我的例子中是 c:\program files(x86)\adobe\flash builder 4.5\sdks

    2。复制以前的 SDK

    复制以前的 SDK(为此我使用了 SDK 4.5.1)并将复制的文件夹重命名为 AIR3SDK(或其他名称,如果您愿意)

    3.使用 AIR3 SDK 覆盖复制的 (!) SDK

    将所有文件从 AIR3 SDK 复制到复制的文件夹中。它应该要求您多次覆盖文件。在此之后,您应该安装了一个正常工作的 AIR3 SDK。

    4.为新 SDK 设置名称

    我不得不对 Beta2 进行此操作 - 转到新的 SDK 目录并编辑 flex-sdk-description.xml - 将内容从 Flex 4.5.1 更改为 AIR3 SDK。

    5.从 Flash Player 11 添加新的 playerglobal.swc

    http://labs.adobe.com/downloads/flashplayer11.html 下载当前的 Flash Player 11 "playerglobal.swc" 并将其放入正确的文件夹中。在 SDK 根文件夹中,这是:/frameworks/libs/player/11.0/(我必须自己创建 11.0 文件夹,然后将文件放在那里并将其重命名为纯“playerglobal.swc”)

    6.将 AIR3 SDK 添加到 Flash Builder

    在项目的“项目设置 - Flex 编译器”下,选择新的 SDK 作为项目使用的 SDK。如果 SDK 未显示,请转到“配置 Flex SDK”,然后“添加”并选择新创建的文件夹。新的 AIR3 SDK 现在应该作为该项目的编译器包含在下拉列表中。

    不要忘记在同一屏幕上添加 -swf-version=13 作为编译器标志。

    完成所有这些之后,我能够使用新功能,编译我的项目,并且很好地使用它

    Air 3 SDK程序源:http://forums.adobe.com/thread/899921

    【讨论】:

      【解决方案2】:

      我的理解是,您在此处引用的文字只是指在 iOS 用户操作其他应用程序时应用程序被冻结和解冻的能力,允许您在用户返回应用程序时返回到以前的视图/状态仅此而已。

      我认为,即使您指定音频的 UIBackgroundMode,您的音频也不会在 AIR 2.7 的后台播放。以后的版本,我想会有这个功能。

      【讨论】:

      • 呵呵,没想到3个月后你就可以不接受了。是的,AIR 3 现在支持这一点,尽管问题是关于 AIR 2.7。
      【解决方案3】:

      These are the iOS phone keys 在应用 XML 中描述。其中大部分在 AIR 2.7 中不可用

      无论如何,我们必须认识到,Adobe 做了什么。用于移动设备和桌面的移动应用程序开发工作流程的高效工作流程。

      The are the currently supported iOS keys 在 AIR 2.7 中。我们需要的音频是 UIBackgroundModes "audio"

      【讨论】:

        猜你喜欢
        • 2013-03-10
        • 2021-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多