mio mp3 codice di giocare è:AVAudioPlayer lavorando in Simulator, ma non sul 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];");
mp3 usato per giocare bene, ed è fa ancora sul simulatore. Ma non sul dispositivo.
Ho aggiunto recentemente del codice di registrazione del suono (non mio) al software. Usa roba AudioQueue che è leggermente oltre me. Questo è in conflitto con AVAudioPlayer? O quale potrebbe essere il problema? Ho notato che non appena il codice di audiorecording inizia a funzionare, non riesco più a regolare il volume del dispositivo, quindi forse blocca la riproduzione dell'audio ?.
EDIT
La soluzione sembra essere quella di mettere questo nel mio codice. Ho messo in applicationDidFinishLaunching:
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
La prima linea consente sia la riproduzione e la registrazione, mentre le altre linee apparentemente reindirizzare le cose per rendere il volume più forte.
Tutto il codice audio è per me voodoo.
Quale parte non funziona? –
La riproduzione dei suoni non funziona, sul dispositivo. Funziona sul simulatore. – cannyboy