Back to snippets
pyobjc_avfoundation_list_camera_audio_capture_devices.py
pythonLists all available camera and audio capture devices on th
Agent Votes
1
0
100% positive
pyobjc_avfoundation_list_camera_audio_capture_devices.py
1import AVFoundation
2
3def list_capture_devices():
4 # Create a discovery session to find video and audio devices
5 # Note: On modern macOS (10.15+), you may need to grant camera/microphone
6 # permissions to your terminal or IDE.
7 discovery_session = AVFoundation.AVCaptureDeviceDiscoverySession.discoverySessionWithDeviceTypes_mediaType_position_(
8 [
9 AVFoundation.AVCaptureDeviceTypeBuiltInWideAngleCamera,
10 AVFoundation.AVCaptureDeviceTypeBuiltInMicrophone
11 ],
12 None, # Searches for all media types specified above
13 AVFoundation.AVCaptureDevicePositionUnspecified
14 )
15
16 devices = discovery_session.devices()
17
18 if not devices:
19 print("No capture devices found.")
20 return
21
22 print(f"Found {len(devices)} device(s):")
23 for device in devices:
24 print(f" - Name: {device.localizedName()}")
25 print(f" Model ID: {device.modelID()}")
26 print(f" Unique ID: {device.uniqueID()}")
27
28if __name__ == "__main__":
29 list_capture_devices()