Sto provando a catturare l'audio, utilizzando il metodo in this question; con AVCaptureSession e AVCaptureAudioDataOutput. Questo sembra funzionare bene con 1 inconveniente: non funziona nel simulatore. Sia l'AVAudioRecorder, sia la buona vecchia demo demo SpeakHere, funzionano perfettamente nel simulatore, usando il microfono interno sul mio MacBook Pro.AVCaptureSession per l'audio nel simulatore
Il problema è che [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]
dà null
nel simulatore, in modo da codice successivo fallisce con il messaggio (quando si tenta di aggiungere null
come input per l'AVCaptureSession):
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Can't add <AVCaptureDeviceInput: 0x9138b40 [(null)]> because the device does not support AVCaptureSessionPresetHigh. Use -[AVCaptureDevice supportsAVCaptureSessionPreset:].'
C'è un modo semplice per ottenere questo lavorare nel simulatore?
Non so perché l'installazione di AVCaptureSession non funzioni, tuttavia se non sarà necessario testare la registrazione sul simulatore ma solo sul dispositivo è comunque possibile escludere la parte di registrazione su iOS-Simulator utilizzando: # se TARGET_IPHONE_SIMULATOR // Codice simulatore qui #else // Codice dispositivo "reale" iOS qui #endif Ciò impedirà l'arresto anomalo dell'app sul simulatore. – Markus