Code Monkey home page Code Monkey logo

audioplayerswift's Introduction

AudioPlayer

Travis Language CocoaPods Carthage compatible Platform

AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.

Usage

// 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

Installation

CocoaPods

Add the following to your Podfile:

pod 'AudioPlayerSwift'

Carthage

Add the following to your Cartfile:

github 'tbaranes/AudioPlayerSwift'

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)
    ]
)

Manual Installation

Just drag the Source/*.swift files into your project.

AudioPlayer properties

name

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.

url

The absolute URL of the audio file.

completionHandler

A callback closure that will be called when the audio finishes playing, or is stopped.

isPlaying

Is it playing or not?

duration

The duration of the sound.

currentTime

The current time offset into the sound of the current playback position.

volume

The volume for the sound. The nominal range is from 0.0 to 1.0.

numberOfLoops

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.
pan

The left/right stereo pan of the file. -1.0 is left, 0.0 is center, 1.0 is right.

AudioPlayer methods

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.

func play()

Plays the sound. Has no effect if the sound is already playing.

func stop()

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.

Notifications

SoundDidFinishPlayingNotification

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.

What's next

  • AudioPlayerManager
  • Your features!

Contribution

  • 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

Licence

AudioPlayerSwift is available under the MIT license. See the LICENSE file for more info.

audioplayerswift's People

Contributors

frranck avatar hessenh avatar mirzazulfan avatar mortenh avatar pjay avatar readmecritic avatar tbaranes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.