Giter VIP home page Giter VIP logo

avaemixersample's Introduction

Using AVAudioEngine for Playback, Mixing and Recording

This sample uses the AVAudioEngine with two AVAudioPlayerNode and AVAudioPCMBuffer objects along with an AVAudioUnitDelay and AVAudioUnitReverb to playback two loops which can then be mixed, processed and recorded.

AVAudioEngine contains a group of connected AVAudioNodes ("nodes"), each of which performs an audio signal generation, processing, or input/output task.

For more information refer to AVAudioEngine in Practice WWDC 2014: https://developer.apple.com/videos/wwdc/2014/#502

Requirements

Build

iOS 10 SDK, Xcode Version 8 or greater

Runtime

iOS 10.x

Version History

1.0 First public version

1.1 Minor updates:

  • added audio to the UIBackgroundModes in the plist
  • improved handling of audio interruptions
  • changed the audio category to Playback, previous version used PlayAndRecord, but doesn't require audio input
  • fixed a bug in handleMediaServicesReset: method
  • corrected some old comments

2.0 Major update:

  • (new) Demonstrates use of AVAudioSequencer, AVAudioMixing, AVAudioDestinationMixing
  • (new) Added support for iPhone, iPad using Size Classes
  • (modified) Useage of a single AVAudioPlayerNode that toggles between a recorded AVAudioFile and a AVAudioPCMBuffer

2.1 Minor update:

  • (modified) Explicitly use the buffer format as the connection format for the player to reverb & reverb to mainMixer, to make it clear that these formats must match.

2.2 Minor update:

  • (new) Audio parameter views on iPhone now have a 'Dismiss' button in addition to 'Swipe down' to dismiss.
  • (modified) AVAudioEngine is now paused when nothing is playing or being recorded.
  • (modified) Refactored some methods to support pausing and to ensure proper initialization after reset or engine reconfiguration.

2.3 Minor update:

  • (modified) handleMediaServicesReset now configures AVAudioSession per QA1749

Copyright (C) 2015-2017 Apple Inc. All rights reserved.

avaemixersample's People

Contributors

cntrump avatar

Watchers

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