Как заставить приложение проигрывать аудио в фоновом режиме (phonegap 1.5.0 на iOS) - PullRequest
5 голосов
/ 23 марта 2012

У меня есть приложение для воспроизведения музыки, использующее PhoneGap и html5 audio tag для воспроизведения звука на iOS.Ранее он мог отлично воспроизводить музыку в фоновом режиме (с PhoneGap 1.0.0 для iOS), но после того, как я обновил PhoneGap до 1.5.0 (Cordova), я больше не могу воспроизводить его на фоне.Когда я нажимаю кнопку HOME, звук останавливается.Когда я переключаюсь обратно в приложение, оно возобновляется.

Я уже установил Required background modes в Info.plist со значением audio.

Так что-то я пропустил?Спасибо.

Ответы [ 2 ]

3 голосов
/ 30 октября 2012

В файле 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 / CordovaLib (изменить цель и запустить ее на симуляторе) и (после изменения цели) скомпилировать в приложение еще раз, и теперь это работает!

Осторожно : работает только на устройстве, а не на симуляторе

0 голосов
/ 20 января 2014

В дополнение к ответу @Ayame __ я заметил, что приложение может быть отправлено из фонового режима в режим ожидания при попытке пропустить песни (в приложении на основе радио или списка воспроизведения).

Я написал простой плагин, который вы можете найти здесь - https://github.com/vadimf/phonegap-audio-payer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...