2011-12-11 11 views
8

Ho cercato in diversi forum e tutti non hanno potuto fornire una risposta soddisfacente.Riproduzione e registrazione di video durante la riproduzione di musica backgorund

Il mio desiderio è essere in grado di riprodurre e registrare video mentre si suona musica in sottofondo. Sono riuscito a farlo con l'aiuto di uno snippet che ho trovato. ecco il codice:

AVAudioSession *session = [AVAudioSession sharedInstance]; 
session.delegate = self; 

NSError *error = nil; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; 

OSStatus propertySetError = 0; 

UInt32 allowMixing = true; 

propertySetError = AudioSessionSetProperty (

              kAudioSessionProperty_OverrideCategoryMixWithOthers, // 1 

              sizeof (allowMixing),         // 2 

              &allowMixing           // 3 

              ); 
[session setActive:YES error:&error]; 

Il problema è che durante la registrazione, posso solo ascoltare la musica di sottofondo attraverso l'altoparlante orecchio al posto del diffusore regolare.

Come è possibile impostare l'altoparlante normale affinché funzioni in modo che la sessione di registrazione non venga interrotta?

Grazie in anticipo,

+0

Hai mai risolto questo problema? – shabbirv

+0

hey hai un codice di esempio di ciò che hai fatto qui? – Jatin

risposta

3

quando si modifica la categoria seesion con kAudioSessionProperty_OverrideCategoryMixWithOthers * * utilizza il diffusore più piccolo sul lato superiore del dispositivo (oltre alla fotocamera frontend). Per usare il normale altoparlante come dispositivo di output, dovresti invece reindirizzare il percorso di uscita della tua sessione audio. Di seguito è il frammento di codice di raggiungere questo

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 

AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,       
    sizeof (audioRouteOverride),          
    &audioRouteOverride            
); 

Sostituire questo codice con il sopra e che funzionerà. È inoltre possibile consultare Redirect Output Audio sul portale per sviluppatori Apple.

+1

funziona per iOS 8? –

Problemi correlati