【问题标题】:iOS how to don't stop music when the app start launchingiOS如何在应用程序开始启动时不停止音乐
【发布时间】:2013-09-12 11:05:39
【问题描述】:

我注意到当我的应用程序启动时,我正在听的音乐会自动停止,我注意到当我启动其他一些应用程序时,音乐只是继续......这意味着我没有知道如何管理设备中实际播放的音乐,让它播放或停止。

我正在使用 obj-c 和 cocos2d 开发一款游戏,顺便说一句,我已经搜索过,但遗憾的是我什么也没找到......所以这是我的问题,我怎样才能让我正在用我的设备听的音乐继续播放即使我启动应用程序也可以玩?

编辑:我正在使用 SimpleAudioEngine 在我的应用中启动背景音乐和一些音效

【问题讨论】:

    标签: objective-c playback


    【解决方案1】:

    根据文档:

    您可以在设置其类别后随时激活音频会话,但通常最好推迟此调用,直到您的应用开始播放音频。 推迟通话可确保您不会过早中断可能正在进行的任何其他背景音频。

    确保不要在应用启动后立即通过其setActive 方法或间接通过 AVAudioEngine 或其他播放引擎间接启动音频会话。如果您不希望您的应用在启动时打扰其他人,则应在此阶段仅设置类别。如果您正在使用 AVAudioEngine,请推迟设置引擎或将任何内容连接到引擎的 mainMixerNodeoutputNode,直到您真正需要开始播放某些内容。

    【讨论】:

      【解决方案2】:

      斯威夫特:

      播放前输入这一行:

      let audioSession = AVAudioSession.sharedInstance()
      if audioSession.otherAudioPlaying {
          _ = try? audioSession.setCategory(AVAudioSessionCategoryAmbient, withOptions: AVAudioSessionCategoryOptions.MixWithOthers)
      }
      

      【讨论】:

        【解决方案3】:

        将此行放置在您的应用程序中:didFinishLaunchingWithOptions: AppDelegate 的方法中,或者通常在使用音频播放器之前。

        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

        根据文档,AVAudioSessionCategoryAmbient 类别是

        对于声音播放不是主要的应用,也就是说,您的应用可以 在关闭声音的情况下成功使用。 此类别也适用于“随玩”风格的应用程序,例如用户通过 iPod 音频播放的虚拟钢琴。当你 使用此类别,来自其他应用程序的音频与您的音频混合。您的 通过屏幕锁定和静音开关(称为 iPhone 上的响铃/静音开关)。

        请导入AVFoundation/AVFoundation.h

        【讨论】:

        • 我打开我的应用程序,后台应用程序的音乐停止了。以下解决方案对我不起作用 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];伙计们有什么建议吗?当我们不使用任何 AVAudioPlayer 或 AudioServicesCreateSystemSoundID 时,上述解决方案有效
        【解决方案4】:

        对于希望在 react native (iOS) 中解决此问题的人 我的问题恰恰相反,我们的一些没有音乐的静音视频导致其他应用程序无缘无故地暂停背景声音。

        要解决这个问题,还要通过您的 Video 组件将 ignoreSilentSwitch="obey" 属性与 disableFocus 和 muted 属性一起传递。

        【讨论】:

          【解决方案5】:

          当您的应用开始播放音乐时,它会暂停当前正在播放的所有音频。出于显而易见的原因。如果您希望在应用启动时继续播放音乐,请不要让应用播放任何音乐。

          【讨论】:

          • 即使我的应用程序关闭了音乐,音乐也会停止,顺便说一句,我很确定即使他们的应用程序有音乐播放,某些应用程序也会让设备音乐播放(所以是的,你会听两种音乐同时)
          • 是的,您可以在玩 Candy Crush Saga 的同时播放音乐,还可以听到它的声音。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-29
          • 1970-01-01
          相关资源
          最近更新 更多