首页 文章

如何让应用程序在后台播放音频(iOS上的phonegap 1.5.0)

提问于
浏览
5

我有一个应用程序可以播放一些音乐,使用PhoneGap和html5音频标签在iOS上播放音频 . 之前它可以在后台完美播放音乐(适用于iOS的PhoneGap 1.0.0),但在我将PhoneGap升级到1.5.0(Cordova)后,我再也无法在后台播放 .

按HOME按钮时,音频暂停 . 当我切换回应用程序时,它会恢复 .

我已经在 Info.plist 中设置 Required background modes ,其值为 audio .

所以我错过了什么?谢谢 .

2 回答

  • 0

    除了@Ayame __的回答,我注意到当你试图跳过歌曲时(在基于收音机或播放列表的应用程序中),应用程序可能会从后台发送到暂停模式 .

    我写了一个简单的插件,你可以在这里找到 - https://github.com/vadimf/phonegap-audio-payer

  • 3

    在MainController.h文件中更改以下内容:

    #import "MainViewController.h"
    #import <AVFoundation/AVFoundation.h>
    
    @implementation MainViewController
    
    - (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
    
            NSError *setCategoryError = nil;
            [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
    
        }
        return self;
    }
    

    我不确定以下是否有必要但是我清理了我的项目(CMD ALT K),重新编译了PhoneGap / Cordova Lib(更改目标并让它运行到模拟器)和(再次更改目标后)编译到应用程序一次更多,现在它的工作原理!

    Beware :它仅适用于Device,不适用于模拟器

相关问题