<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PHASE",
  "identifier" : "/documentation/PHASE/PHASESoundEvent/start(completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "PHASE"
    ],
    "preciseIdentifier" : "c:objc(cs)PHASESoundEvent(im)startWithCompletion:"
  },
  "title" : "start(completion:)"
}
-->

# start(completion:)

Invokes the sound event and runs the specified code on completion.

```
func start(completion handler: (@Sendable (PHASESoundEvent.StartHandlerReason) -> Void)? = nil)
```

```
func start() async -> PHASESoundEvent.StartHandlerReason
```

## Discussion

> Important:
> You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration:
> 
> ```swift
> func start() async -> PHASESoundEvent.StartHandlerReason
> ```
> 
> For information about concurrency and asynchronous code in Swift, see <doc://com.apple.documentation/documentation/Swift/calling-objective-c-apis-asynchronously>.

This function returns immediately after instructing the engine to invoke the sound event. If a problem occurs, the function provides an error.

The sound event’s audio plays immediately if the app prepares the sound event in advance. Otherwise, the sound event begins preparing and then plays after preparation completes.

When the sound event plays or errors out, the framework invokes `completionHandler`, passing in a [`PHASESoundEvent.StartHandlerReason`](/documentation/PHASE/PHASESoundEvent/StartHandlerReason) that explains the reason for the invocation.

> Important:
> To play the same sound asset again, create another sound event object. After the first ``doc://com.apple.phase/documentation/PHASE/PHASESoundEvent/start(completion:)`` call on a particular `PHASESoundEvent` instance, subsequent calls have no effect.

---

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)