2015-04-28 11 views
10

Sto usando Audioplayer per riprodurre file audio che è di 5-10 secondi. La mia app consente la musica di sottofondo di altre app. Durante la riproduzione dell'audio sto disattivando l'altra musica utilizzandoCome riprendere l'audio in ios?

[[AVAudioSession sharedInstance] setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil]; 

Dopo il completamento dell'audio, voglio riprodurre la musica disattivata.

E 'possibile in AVAudioPlayer & AVAudioSession? Oppure quale framework supporta questa funzionalità di ripresa?

+1

Anch'io ho bisogno di rispondere per questo !!! – Vara

+0

Prova questo: http://stackoverflow.com/questions/6448043/resume-background-audio-after-playing-sound-with-avaudioplayer –

+0

Grazie, ma non riesco a giocare dopo aver ripreso. – user40910

risposta

6

Dopo aver giocato i suoni, disattivare l'AVAudioSession

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil]; 
+0

Arresterà altri lettori musicali, ma dopo non inizieranno a giocare – user40910

+1

Questa è la risposta corretta. Tuttavia non hai il controllo sul fatto che altre app che riproducono musica di sottofondo gestiscano correttamente la notifica che possono riprendere. \ O assicurando che abbiano le autorizzazioni corrette in primo luogo, quindi non c'è alcuna garanzia che funzioni. –

0

Si potrebbe fare una classe per tutte le chiamate audio.

Oppure, se si sa cosa sta giocando, è possibile salvarli in un array e riprodurli.

Il framework non ti consente di fare ciò che desideri.

Si consiglia di creare la propria classe wrapper per le chiamate audio.

0

Ho fatto un po 'di ricerche e ho trovato this post.

Dalla risposta legata:

[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error]; Ogni volta che non si richiede la sessione audio nell'applicazione (vale a dire quando non stai output alcun suono) si dovrebbe essere sua disattivazione. Laddove è logico, è necessario utilizzare questo metodo in modo tale che qualsiasi audio in background venga notificato e possa riprendere (le applicazioni che ricevono questa notifica non devono necessariamente riprendere).

Non ho confermato che funzioni, ma è qualcosa da provare e spero che sia d'aiuto.