---
title: HMCameraProfile
framework: homekit
role: symbol
role_heading: Class
path: homekit/hmcameraprofile
---

# HMCameraProfile

A camera profile that interacts with an accessory’s camera.

## Declaration

```swift
class HMCameraProfile
```

## Overview

Overview Each profile control is optional, because an individual camera vendor may not support all of the features defined by the HomeKit camera specifications.

## Topics

### Controlling camera settings

- [settingsControl](homekit/hmcameraprofile/settingscontrol.md)
- [HMCameraSettingsControl](homekit/hmcamerasettingscontrol.md)
- [HMCameraControl](homekit/hmcameracontrol.md)

### Playing audio

- [microphoneControl](homekit/hmcameraprofile/microphonecontrol.md)
- [speakerControl](homekit/hmcameraprofile/speakercontrol.md)
- [HMCameraAudioControl](homekit/hmcameraaudiocontrol.md)

### Streaming

- [streamControl](homekit/hmcameraprofile/streamcontrol.md)
- [HMCameraStreamControl](homekit/hmcamerastreamcontrol.md)

### Capturing snapshots

- [snapshotControl](homekit/hmcameraprofile/snapshotcontrol.md)
- [HMCameraSnapshotControl](homekit/hmcamerasnapshotcontrol.md)

## Relationships

### Inherits From

- [HMAccessoryProfile](homekit/hmaccessoryprofile.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Managing accessory profiles

- [profiles](homekit/hmaccessory/profiles.md)
- [HMAccessoryProfile](homekit/hmaccessoryprofile.md)
- [HMNetworkConfigurationProfile](homekit/hmnetworkconfigurationprofile.md)
