AVAudioPlayer no comienza a jugar en segundo plano

estoy usandoAVAudioPlayer yNSFileHandle para hacer streaming de audio. La idea básica es que guardo la transmisión de datos de audio en el dispositivo con el sistema de archivos y luego usoAVAudioPlayer para reproducir el archivo que acaba de guardar.AVAudioPlayer Todavía se puede reproducir ese archivo, incluso la transmisión está en curso.

tengo unUIButton para iniciar la transmisión / descarga. Cuando los datos descargados se acumulan en una cantidad específica de bytes,AVAudioPlayer jugará (el método de "juego" deAVAudioPlayer se dispara) automáticamente. Mi pregunta es: toque el botón para iniciar la transmisión / descarga, luego presione el botón de inicio del iPhone muy pronto para que mi aplicación pase al fondo. La descarga sigue funcionando en segundo plano, pero el método "play" deAVAudioPlayer devuelve "NO", lo que significa que el método "reproducir" no reproduce el audio.

yo añadíAVAudioSession Código relacionado con el método de inicio de mi reproductor de audio:

- (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;
}

También en la lista de información, agregué un elemento "La aplicación reproduce audio" para la tecla "Modos de fondo requeridos". Sin embargo, el "juego" todavía no se llama correctamente en el fondo. ¿Qué más me perdí? Muchas gracias por adelantado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta