anipulando interrupções com fila de áud
Estou desenvolvendo uma serpentina de áudio e declarei um ouvinte de interrupção para salvar o estado de uma música quando ocorre uma interrupção - como uma chamada ou um sm
Aqui está o código relevante
No meu AppDelegate, eu tenho este
AudioSessionInitialize (NULL, NULL, interruptionListenerCallback, self);
AudioSessionSetActive(YES);
É assim que o ouvinte de interrupção se parece
void interruptionListenerCallback (void *inUserData, UInt32 interruptionState) {
// This callback, being outside the implementation block, needs a reference
//to the AudioPlayer object
MyPlayer *player = (MyPlayer *)inUserData;
if (interruptionState == kAudioSessionBeginInterruption) {
if ([player audioStreamer]) {
// if currently playing, pause
[player pausePlayback];
player.interruptedOnPlayback = YES;
}
} else if ((interruptionState == kAudioSessionEndInterruption) && player.interruptedOnPlayback) {
// if the interruption was removed, and the app had been playing, resume playback
[player resumePlayback];
player.interruptedOnPlayback = NO;
}
}
Quando recebo uma ligação, o ouvinte de interrupção é chamado e, se o usuário recusar a ligação, o método de retomada da reprodução também é chamado. Mas antes que o método resumePlayback seja chamado, eu recebo esse erro no console para AudioQueueEnqueueBuffer
error:tca! erro int: 560030580
lguém tem uma idéia de como lidar corretamente com interrupções de áudio ao transmitir arquivos de áudi
Obrigado