Is there a way to cancel, pause or stop a sound that started playing through a call to AudioServicesPlaySystemSound()?
Unfortunately you can't - like the name suggests, it's designed for playing sounds to be used for system alerts, where you don't need to have control over them. You can stop a sound played through AudioServicesPlaySystemSound() by calling AudioServicesDisposeSystemSoundID(), but this is a hacky and best avoided.
The best option for straightforward, simple control of audio playback is to use AVPlayer, part of AVFoundation - documentation here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With