2012-02-19 13 views
10

Ho bisogno di riprodurre in loop un file .caf nella mia app per iPhone.Il pulsante Mute non silenzia AVAudioPlayer

L'AVAudioPlayer sembra promettente. Ma c'è un problema. Non si ferma o non si disattiva anche se ho premuto il pulsante mute su iPhone.

e capisco che non ci sarebbe stato modo di trovare a livello di codice verificare se viene premuto il pulsante mute o meno in iOS 5.

Allora, che cosa ho bisogno di sapere potrebbe essere alcune proprietà di circa AVAudioPlayer o AVAudioSession. Oppure, forse, potrei aver bisogno di prendere in considerazione altre librerie per riprodurre in loop il mio file .caf.

Qualche idea?

risposta

23

ho capito che era perché ho avuto questa riga di codice

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil]; 

Poi ho cambiato in

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; 

Poi il tasto mute avrebbe funzionato e fermare il mio AVAudioPlayer ...

+0

Esattamente quello che mi serviva! – rockstarberlin

+0

Felice di averlo aiutato. :) –

0

my 2 cents per swift 3.0:

let sharedSession = AVAudioSession.sharedInstance() 

do { 
    try sharedSession.setCategory(AVAudioSessionCategoryAmbient) 
} catch _{ 
    return false 
} 

o più semplice:

try? sharedSession.setCategory(AVAudioSessionCategoryAmbient) 
Problemi correlati