目的:
利用麦克风做为一种事件的输入方式
核心:
通过AudioSession与AudioQueue实现麦克风输入的数据捕捉.
开启AudioSession:
1. AudioSessionInitialize
2. AudioSessionSetProperty(kAudioSessionProperty_AudioCategory)
3. AudioSessionSetActive
建立声音格式:
1. 声音格式的数据结构AudioStreamBasicDescription
2. 使用kAudioFormatLinearPCM来做为声音格式
建立AudioQueue:
1. AudioQueueNewInput
2. AudioQueueStart
3. AudioQueueSetProperty(kAudioQueueProperty_EnableLevelMetering)
获取声音峰值数据:
1. 记录峰值的数据结构AudioQueueLevelMeterState
2. AudioQueueGetProperty(kAudioQueueProperty_CurrentLevelMeterDB)
关闭AudioQueue:
1. AudioQueueStop
2. AudioQueueDispose
代码: