Sto cercando di capire perché playSoundFileNamed non funziona dopo aver ricevuto due telefonate consecutive. In realtà funziona solo dopo aver ricevuto la prima telefonata. passaggi che riproducono sono:SKAction playSoundFileNamed non funziona dopo aver ricevuto due telefonate consecutive
- iniziare una partita
- Attendere una telefonata e andare a fondo chiamata
- telefono è finito (diminuita o interrotta da chiamante)
- Tornando al primo piano
Quindi, riprodurre il suono da tocca Inizio funziona ancora.
Quando ripeto i passaggi da sopra (il primo passaggio viene saltato), meccanismo dai tocchi. Began smette di funzionare. Non so perché sta succedendo questo ... Ecco il codice che può produrre comportamento descritto:
@interface GameScene()
@property (nonatomic, strong) SKAction *sound;
@end
@implementation GameScene
-(void)didMoveToView:(SKView *)view {
self.sound = [SKAction playSoundFileNamed:@"sound1.wav" waitForCompletion:NO];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
[self runAction:self.sound];
}
@end
So che ci sono alcune domande relative a questo su SO, ma date le risposte sono legate a soluzioni alternative. Non mi interessa la soluzione alternativa, ma piuttosto perché sta succedendo? È in qualche modo correlato a AVAudioSession? (probabilmente no) So che potrei usare AVAudioPlayer come soluzione alternativa, ma non sono ancora sicuro di quanto sia performante per la riproduzione di molti brevi suoni ...
Ho avuto a che fare con questo un po 'di tempo fa. Non ho mai trovato una soluzione. Per me sarebbe solo una telefonata. Ma c'era una situazione peggiore che dovresti controllare anche tu. Stavo usando iAd e ogni volta che veniva presentato un annuncio che aveva un suono (come quello di annunci di giochi di guerra), anche questo avrebbe interrotto playSoundFileNamed: dal lavoro fino al rilancio dell'app. L'unica cosa che potevo fare era rimuovere le pubblicità dal mio gioco. Non potevo rischiare che l'esperienza dell'utente di avere tutti gli effetti sonori del gioco fallire se si fosse verificato un annuncio con audio. E dovevo solo sperare che gli utenti non ricevessero una chiamata. – Brad