Mi mp3 código de jugar es:AVAudioPlayer trabajando en el simulador, pero no en el dispositivo
NSError *error;
soundObject = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:audioPathString] error:&error];
if (soundObject == nil) NSLog(@"%@", [error description]);
soundObject.delegate = self;
soundObject.numberOfLoops = 0;
soundObject.volume = 1.0;
NSLog(@"about to play");
[soundObject prepareToPlay];
[soundObject play];
NSLog(@"[soundObject play];");
El mp3 se utiliza para jugar bien, y todavía lo hace en el simulador. Pero no en el dispositivo.
Recientemente he agregado un código de grabación de sonido (no mío) al software. Utiliza material AudioQueue que está un poco más allá de mí. ¿Eso entra en conflicto con AVAudioPlayer? ¿O cuál podría ser el problema? Me he dado cuenta de que tan pronto como el código de grabación de audio comienza a funcionar, ya no puedo ajustar el volumen en el dispositivo, por lo que tal vez bloquea la reproducción de audio.
EDITAR
La solución parece ser la de poner esto en mi código. Lo puse en applicationDidFinishLaunching:
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
La primera línea permite tanto la reproducción y grabación, mientras que las otras líneas aparentemente reencaminar las cosas para que el volumen más alto.
Todo el código de audio es vudú para mí.
¿Qué parte no funciona? –
Reproducir sonidos no funciona, en el dispositivo. Funciona en simulador. – cannyboy