2017-03-29 4 views
1

Ich versuche Live-Mikrofon Audio-Daten zu erfassen.AVCaptureDevice ist immer Null auf dem Simulator

Ich nahm Folgendes aus dem Apfel Beispiel für AVCaptureSession.

AVCaptureSession *captureSession = [[AVCaptureSession alloc] init]; 

AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; 

NSError *error = nil; 
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error]; 

if (audioInput) { 
    [captureSession addInput:audioInput]; 
} 
else { 
    // Handle the failure. 
    NSLog(@"ERROR"); 
} 

audioCaptureDevice und audioInput sind beide null.

+0

Ich habe das gleiche erlebt nach dem Upgrade es zu iOS 10.3. Das UIImagePickerControllerOriginalImage gibt immer null zurück. Ich versuche sogar, "AVCaptureDevice.RequestAccessForMediaTypeAsync (AVMediaType.Video)" und "NSPhotoLibraryUsageDescription in info.plist hinzuzufügen", aber immer noch kein Glück – pampi

Antwort

1

Der Simulator kann das Mac-Mikrofon nicht als Quelle verwenden. Sie müssen ein echtes Gerät verwenden, um das zu testen.

1

Ja, sollte es sein. Weil der Simulator kein Mikrofon hat. Sie sollten immer alle Audio-, Video- und Rendering-Aufgaben auf einem echten Gerät testen.

Werfen Sie einen Blick über Limitations of Testing in iOS Simulator

Hardware Einschränkungen Während die meisten Funktionen von iOS-Geräten in iOS Simulator simuliert werden kann, gibt es einige Hardware-Features , die direkt auf einem Gerät getestet werden müssen. Die Hardware-Features, die kann nicht simuliert werden:

Accelerometer

Gyroskop

Kamera

Proximity

Sensor Mikrofoneingang

+0

Scheint es kann ziemlich mühsam sein, nach bestimmten Ergebnissen zu suchen oder zu überprüfen, ob es tatsächlich funktioniert. Aber wenn ich keine andere Wahl habe, dann nehme ich an, dass es das ist, was ich habe. – zyeek