Using existing system sounds in iOS App [swift|

IosSwiftAudioAvfoundation

Ios Problem Overview


Is it possible to use the existing Apple system sounds in my own app? I would like to write a sample app in Swift that does the following steps:

  1. Read/Get a list of all available systemSounds on the device (I think they are located in /System/Library/Audio/UISounds/)
  2. show the list on the screen
  3. if I touch a list item, play these sound

So its basically the same, like when you choose a new ringtone on your iPhone.

I think some apps are using this sounds, or have they copied/bought it?

Thanks and regards Jens

Ios Solutions


Solution 1 - Ios

You can use this Swift 5 code to play system sounds:

// import this
import AVFoundation

// create a sound ID, in this case its the tweet sound.
let systemSoundID: SystemSoundID = 1016

// to play sound
AudioServicesPlaySystemSound(systemSoundID)

The most up to date list of sounds I could find are here.

Documentation Reference

And this is what they all sound like: https://www.youtube.com/watch?v=TjmkmIsUEbA

Solution 2 - Ios

Swift 4

import AVFoundation

AudioServicesPlayAlertSound(SystemSoundID(1322))

Solution 3 - Ios

Here's a quick way to test the sounds.

import AVFoundation

func displaySoundsAlert() {
    let alert = UIAlertController(title: "Play Sound", message: nil, preferredStyle: UIAlertController.Style.alert)
    for i in 1000...1010 {
        alert.addAction(UIAlertAction(title: "\(i)", style: .default, handler: {_ in
            AudioServicesPlayAlertSound(UInt32(i))
            self.displaySoundsAlert()
        }))
    }
    alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
    self.present(alert, animated: true, completion: nil)
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTheOnlyXanView Question on Stackoverflow
Solution 1 - IosBeau NouvelleView Answer on Stackoverflow
Solution 2 - IosNehaView Answer on Stackoverflow
Solution 3 - IosDerek SoikeView Answer on Stackoverflow