Swift - AVAudioPlayer fortsatt spiller lyd når enheten er på lydløs?

stemmer
7

Jeg gjør en ganske grunnleggende app, og har vært å utforske bruken av AVAudioPlayer å spille av lyd i min app, men jeg har et problem med at den spiller lyd, selv når enheten er på lydløs. Dette er koden jeg bruker:

var audioPlayer = AVAudioPlayer()

Så i Vis gjorde belastning:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
var beepOne = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(menu, ofType: wav)!)
audioPlayer = AVAudioPlayer(contentsOfURL: beepOne, error: &error)
audioPlayer.prepareToPlay()

Og når lyden spilles:

audioPlayer.play()

Hva må jeg gjøre for å stoppe lyden fra å spille når enheten er på lydløs eller byttet til lydløs? Kanskje før audioPlayer.play()en if setning som oppdager om enheten er i stille eller ikke?

Publisert på 13/02/2015 klokken 07:52
kilden bruker
På andre språk...                            


2 svar

stemmer
17

Funnet hva som var galt i det andre og tredje linjer med kode:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)

Jeg måtte endre AVAudioSessionCategoryPlaybacktilAVAudioSessionCategoryAmbient

Håper dette hjelper andre som kanskje har det samme problemet :)

Svarte 13/02/2015 kl. 09:04
kilden bruker

stemmer
0

Jeg vil gjerne legge til en løsning ved hjelp av rask 2.0 som krever prøve / fangst feilbehandling. Det er en stor artikkel om dette her .

    let audioSession = AVAudioSession.sharedInstance()
    do {
        try audioSession.setCategory(AVAudioSessionCategoryAmbient, withOptions: .DuckOthers)
    } catch {
        print("AVAudioSession cannot be set")
    }       

Dette innlegget var til taushet lydavspilling om telefonen er slått av. Jeg ønsket å gjøre det motsatte og faktisk hvis du erstatter AVAudioSessionCategoryAmbient ovenfor med AVAudioSessionCategoryPlayback, vil lyden spille selv om telefonen er slått av.

Svarte 17/07/2016 kl. 09:40
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more