<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreAudio",
  "identifier" : "/documentation/CoreAudio/AudioDeviceStart(_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Core Audio"
    ],
    "preciseIdentifier" : "c:@F@AudioDeviceStart"
  },
  "title" : "AudioDeviceStart(_:_:)"
}
-->

# AudioDeviceStart(_:_:)

```
func AudioDeviceStart(_ inDevice: AudioObjectID, _ inProcID: AudioDeviceIOProcID?) -> OSStatus
```

## Parameters

`inDevice`

The AudioDevice to start the IOProc on.

`inProcID`

The AudioDeviceIOProcID to start. Note that this can be NULL, which starts
the hardware regardless of whether or not there are any IOProcs registered.
This is necessary if any of the AudioDevice’s timing services are to be
used. A balancing call to AudioDeviceStop with a NULL IOProc is required to
stop the hardware.

## Return Value

An OSStatus indicating success or failure.

## Discussion

\abstract Starts IO for the given AudioDeviceIOProcID.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)