---
title: "AudioDeviceStartAtTime(_:_:_:_:)"
framework: coreaudio
role: symbol
role_heading: Function
path: "coreaudio/audiodevicestartattime(_:_:_:_:)"
---

# AudioDeviceStartAtTime(_:_:_:_:)

## Declaration

```swift
func AudioDeviceStartAtTime(_ inDevice: AudioObjectID, _ inProcID: AudioDeviceIOProcID?, _ ioRequestedStartTime: UnsafeMutablePointer<AudioTimeStamp>, _ inFlags: UInt32) -> 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.
- `ioRequestedStartTime`: A pointer to an AudioTimeStamp that, on entry, is the requested time to start the IOProc. On exit, it will be the actual time the IOProc will start.
- `inFlags`: A UInt32 containing flags that modify how this function behaves.

## Return Value

Return Value An OSStatus indicating success or failure. kAudioHardwareUnsupportedOperationError will be returned if the AudioDevice does not support starting at a specific time and inProc and ioRequestedStartTime are not NULL.

## Discussion

Discussion Starts IO for the given AudioDeviceIOProcID and aligns the IO cycle of the AudioDevice with the given time.

## See Also

### Functions

- [AudioConvertHostTimeToNanos(_:)](coreaudio/audioconverthosttimetonanos(_:).md)
- [AudioConvertNanosToHostTime(_:)](coreaudio/audioconvertnanostohosttime(_:).md)
- [AudioDeviceCreateIOProcID(_:_:_:_:)](coreaudio/audiodevicecreateioprocid(_:_:_:_:).md)
- [AudioDeviceCreateIOProcIDWithBlock(_:_:_:_:)](coreaudio/audiodevicecreateioprocidwithblock(_:_:_:_:).md)
- [AudioDeviceDestroyIOProcID(_:_:)](coreaudio/audiodevicedestroyioprocid(_:_:).md)
- [AudioDeviceGetCurrentTime(_:_:)](coreaudio/audiodevicegetcurrenttime(_:_:).md)
- [AudioDeviceGetNearestStartTime(_:_:_:)](coreaudio/audiodevicegetneareststarttime(_:_:_:).md)
- [AudioDeviceStart(_:_:)](coreaudio/audiodevicestart(_:_:).md)
- [AudioDeviceStop(_:_:)](coreaudio/audiodevicestop(_:_:).md)
- [AudioDeviceTranslateTime(_:_:_:)](coreaudio/audiodevicetranslatetime(_:_:_:).md)
- [AudioGetCurrentHostTime()](coreaudio/audiogetcurrenthosttime().md)
- [AudioGetHostClockFrequency()](coreaudio/audiogethostclockfrequency().md)
- [AudioGetHostClockMinimumTimeDelta()](coreaudio/audiogethostclockminimumtimedelta().md)
- [AudioHardwareCreateAggregateDevice(_:_:)](coreaudio/audiohardwarecreateaggregatedevice(_:_:).md)
- [AudioHardwareDestroyAggregateDevice(_:)](coreaudio/audiohardwaredestroyaggregatedevice(_:).md)
