Sto realizzando un gioco musicale e quando l'utente preme una nota produrrà un suono. Il suono naturalmente ha bisogno di suonare immediatamente quando l'utente preme, in modo che possano dire se sono in tempo con la musica. Tuttavia, sembra che il suono sia in ritardo, specialmente quando le note premute diventano più veloci.Cocos Denshion: Riproduci effetti sonori in sincronia con la musica
Il file di sottofondo .m4a viene riprodotto con AVAudioPlayer. Ho scelto di usarlo su Cocos Denshion poiché ho accesso alla proprietà currentTime. Potrei sbagliarmi, ma non penso di poter accedere a questo con CocosDenshion.
Ho creato un file wav che è estremamente breve (meno di un secondo). Ho precarico il mio effetto sonoro sulla init:
[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];
poi a giocare l'effetto sonoro, in CCTouchesBegan io chiamo:
[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];
Dopo di che si chiama il mio codice per determinare gli utenti di temporizzazione e assegna punti. Qualche idea sul perché potrebbe essere in ritardo o un modo migliore per riprodurre effetti sonori nel tempo con la musica?
EDIT: Ive ha provato alcune cose recentemente senza risultati. Per prima cosa ho provato a riprodurre i suoni automaticamente quando sono arrivati al momento giusto nella canzone. Ho ancora avuto il ritardo, quindi non penso che gli eventi tattili siano lenti. Ho anche provato 3 diverse librerie di suoni.
Tuttavia, quando ho eseguito il simulatore, sembrava non essere lento. Qualcuno ha un'idea? Im incapacità ed è una caratteristica importante che non posso davvero fare ...
prega di fornire informazioni su quali dispositivi sono in esecuzione, e strumenti X-Code informazioni sul carico della CPU e del carico gpu, e anche un'idea di quanti suoni allo stesso tempo stanno giocando, e in quale formato è la vostra musica di sottofondo (supponendo che ce ne sia uno). –