iPhone (SDK 2.2): regolazione del volume di riproduzione mentre NON si riproduce attivamente musica con / AVFoundation?
-
03-07-2019 - |
Domanda
Quindi ho un'app che riproduce molti brevi clip audio. Devo sapere quando la riproduzione dei suoni è terminata e devo usare gli mp3, quindi sto usando AVFoundation per la riproduzione del suono.
Quando un suono viene riprodotto attivamente e l'utente utilizza i pulsanti del volume hardware, il volume di riproduzione cambia. Il problema è che l'app NON riproduce costantemente suoni e quando non lo è, e vengono utilizzati i pulsanti hardware, il volume RINGER viene invece regolato.
Come posso impostarlo in modo che, finché l'app è in esecuzione, l'utente può regolare il volume di riproduzione?
Grazie!
Soluzione
Si scopre che ciò può essere ottenuto allocando un AVAudioPlayer
con qualsiasi file audio valido e chiamando il metodo apprendiToPlay
, senza mai chiamare il play
metodo.
Funziona perfettamente.
Altri suggerimenti
Avvia una AudioSession e non interromperla quando non riproduci suoni.
quindi vuoi disabilitare il volume di riproduzione della suoneria finché l'app è in esecuzione? quindi i controlli hardware regoleranno solo i suoni di riproduzione dell'app?
Non penso che ciò sia possibile a meno che tu non stia sempre riproducendo il suono. ad esempio, molti giochi riproducono sempre musica di sottofondo o quello che hai.
Potresti riuscire a farlo riproducendo costantemente un suono a volume 0 finché l'app è in esecuzione. È quindi possibile riprodurre i clip audio su di esso.