The challenge is scheduling an AAC buffer in a AVAudioPlayerNode which only consumes uncompressed linear pcm buffers.
The function playAudio takes a Data() object...
You can use async/await so you can cancel once you have a result.
/// Queries `NWPathMonitor` for the `usesInterfaceType`.
/// Supported types are `NWInterface.InterfaceType.other, .cellular,...