AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.
// Initialize let audioPlayer = AudioPlayer("sound.mp3") // Start playing audioPlayer.play() // Stop playing with a fade out audioPlayer.fadeOut()
See the samples project to see advanced usage
Add the following to your Podfile:
Add the following to your Cartfile:
Swift Package Manager
AudioPlayer is available on SPM. Just add the following to your Package file:
import PackageDescription let package = Package( dependencies: [ .Package(url: "https://github.com/tbaranes/AudioPlayerSwift.git", majorVersion: 1) ] )
Just drag the
Source/*.swift files into your project.
The name of the sound. This is either the name that was passed to the
init, or the last path component of the audio file.
The absolute URL of the audio file.
A callback closure that will be called when the audio finishes playing, or is stopped.
Is it playing or not?
The duration of the sound.
The current time offset into the sound of the current playback position.
The volume for the sound. The nominal range is from 0.0 to 1.0.
Number of times that the sound will return to the beginning upon reaching the end.
- A value of zero means to play the sound just once.
- A value of one will result in playing the sound twice, and so on..
- Any negative number will loop indefinitely until stopped.
The left/right stereo pan of the file. -1.0 is left, 0.0 is center, 1.0 is right.
init(fileName: String) throws init(contentsOfPath path: String) throws init(contentsOf url: URL) throws
These methods create a new AudioPlayer instance from a file name or file path.
Plays the sound. Has no effect if the sound is already playing.
Stops the sound. Has no effect if the sound is not already playing.
func fadeTo(volume: Float, duration: TimeInterval = 1.0)
This method fades a sound from it's current volume to the specified volume over the specified time period.
func fadeIn(duration: TimeInterval = 1.0)
Fades the sound volume from 0.0 to 1.0 over the specified duration.
func fadeOut(duration: TimeInterval = 1.0)
Fades the sound from it's current volume to 0.0 over the specified duration.
This notification is fired (via NSNotificationCenter) whenever a sound finishes playing, either due to it ending naturally, or because the stop method was called. The notification object is an instance of the AudioPlayer class. You can access the AudioPlayer class's
name property to find out which sound has finished.
- Your features!
- If you found a bug, open an issue
- If you have a feature request, open an issue
- If you want to contribute, submit a pull request
AudioPlayerSwift is available under the MIT license. See the LICENSE file for more info.