2011-01-27 2 views
8

sto leggendo un file video utilizzando:copyNextSampleBuffer dopo applicazione restituisce da sfondo su iPhone

CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer]; 

dove asset_reader_output è un'istanza di AVAssetReaderTrackOutput di classe.

funziona bene, ma se l'applicazione passa in background e quindi ritorna (ad esempio, se è stata ricevuta una telefonata), dopo il ritorno all'applicazione, copyNextSampleBuffer restituisce sempre nil.

perché restituisce nil e non i dati effettivi? Come posso risolvere questo problema?

+0

Questo potrebbe aiutare http://stackoverflow.com/questions/8974679/memory-problems-with-avassetwriterinput-requestmediadataquandoèdiventatoutilizzareb/10526993#10526993 – nh32rg

risposta

0

provare a tracciare il buffer del campione corrente. Quindi, nella classe addDelegate, sono disponibili i metodi di callback applicationDidEnterBackground e applicationWillEnterForeground. imposta l'indicatore del buffer semple corrente al posto giusto prima di chiamare copyNextSampleBuffer