AVAudioPlayer não começa a tocar em segundo plano

estou usandoAVAudioPlayer eNSFileHandle fazer streaming de áudio. A idéia básica é que eu salve os dados de streaming de áudio para o dispositivo com o sistema de arquivos e, em seguida, useAVAudioPlayer para reproduzir o arquivo que acabou de ser salvo.AVAudioPlayer ainda pode reproduzir esse arquivo até mesmo o streaming está em andamento.

eu tenho umUIButton para iniciar o streaming / download. Quando os dados baixados são acumulados para uma quantidade específica de Bytes,AVAudioPlayer vai jogar (o "play" método deAVAudioPlayer é acionado) automaticamente. Minha pergunta é: toque no botão para iniciar o streaming / download e, em seguida, pressione o botão home do iPhone muito em breve para fazer meu app ir para o segundo plano. O download continua funcionando em segundo plano, mas o método "play" deAVAudioPlayer retorna "NO", o que significa que o método "play" não reproduz o áudio.

Eu adicioneiAVAudioSession código relacionado ao método init do meu reprodutor de áudio:

- (id) initWithURL:(NSString *) downloadedMusicURL
{
    if ((self = [super init]))
    {       
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

        CFURLRef url = CFURLCreateWithFileSystemPath (NULL, (CFStringRef)downloadedMusicURL, kCFURLPOSIXPathStyle, FALSE);

        audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:CFBridgingRelease(url) error:nil];

        AVAudioSession *session = [AVAudioSession sharedInstance];
        [session setActive:YES error:nil];
        [session setCategory:AVAudioSessionCategoryPlayback error:nil];
    }

    return self;
}

Também no info.plist eu adicionei um item "App reproduz áudio" para a chave "Modos de fundo necessários". No entanto, o "play" ainda não é chamado adequadamente em segundo plano. O que mais eu sinto falta? Muito obrigado antecipadamente.

questionAnswers(4)

yourAnswerToTheQuestion