1

I am fairly new to iOS Development, and I am a complete newbie with audio stuff.

I am trying to get the loudness or the power of the audio that is getting played using TAAE. I am not sure if what I am doing makes any sense.

Here is my code

static var gameStatus : GameStatus = .Starting

private init(){
    audioController = AEAudioController(audioDescription: AEAudioController.nonInterleavedFloatStereoAudioDescription())
    initializeAudioTrack()
}

func initializeAudioTrack() {
    let file = NSBundle.mainBundle().URLForResource("01 Foreign Formula", withExtension:
        "mp3")
    let channel: AnyObject! = AEAudioFilePlayer.audioFilePlayerWithURL(file, audioController: audioController, error: nil)
    let receiver = AEBlockAudioReceiver { (source, time, frames, audioBufferList) -> Void in

        let leftSample = UnsafeMutablePointer<Float>(audioBufferList[0].mBuffers.mData)
        let rightSample = UnsafeMutablePointer<Float>(audioBufferList[1].mBuffers.mData)
        var accumulator = Float(0.0)
        for i in 0...frames {
            accumulator += leftSample[Int(i)] * leftSample[Int(i)]
        }

        var power = accumulator / Float(frames)
        println(power)


    }
    println(audioController?.masterOutputVolume)
    audioController?.addChannels([channel])
    audioController?.addOutputReceiver(receiver)
    audioController?.useMeasurementMode = true
    audioController?.preferredBufferDuration = 0.005
    audioController?.start(nil)
}

I looked everywhere trying to understand how to get this done but it is kind of hard for me to know what should I be looking for.

Basically all I need is to find the power of audio (intensity, bass etc) to determine and manipulate certain stuff in the game I am building.

I would really love any kind of explanation or help.

Feel free to write code in Objective-C or other

Moody
  • 352
  • 3
  • 15

0 Answers0