EZAudio 停止获取音频
Posted
技术标签:
【中文标题】EZAudio 停止获取音频【英文标题】:EZAudio stopfetching audio 【发布时间】:2016-09-19 04:11:47 【问题描述】:当我从 EZAudio 调用函数 .stopfetchingaudio()
时,我的应用程序崩溃了。
var microphone: EZMicrophone!
func didMove(to view: SKView)
/*
* setup all dependencys for the fft analysis
*/
//setup audio session
session = AVAudiosession.sharedInstance()
do
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try session.setActive(true)
catch
print("Audio Session setup Fails")
//create a mic instance
microphone = EZMicrophone(delegate: self)
func stopMic()
microphone.stopFetchingAudio()
我收到此错误:
xyz-abv[435:35687] 致命错误:在展开可选值时意外发现 nil
但我不知道它是什么意思。
【问题讨论】:
你的麦克风是在哪里定义的? 它在来自 SpriteKit 的 GameScene 中定义。这个想法是当我切换到另一个视图控制器时,我将停止麦克风捕获。为此,我从父 viewController 调用 stop() 函数。但这给了我这个错误 【参考方案1】:我认为应该是:
func stopMic()
if let _ = microphone
microphone.stopFetchingAudio()
解释:原因是您从一个视图(使用麦克风的位置)移动到另一个视图而没有对其进行初始化。当你从第二个视图控制器调用 stop 方法时,它会导致错误,因为麦克风是 NIL。
【讨论】:
抱歉发帖失败 你在哪里初始化了麦克风? 它在来自 SpriteKit 的 GameScene 中定义。这个想法是当我切换到另一个视图控制器时,我将停止麦克风捕获。为此,我从父 viewController 调用 stop() 函数。但这给了我这个错误以上是关于EZAudio 停止获取音频的主要内容,如果未能解决你的问题,请参考以下文章
EZAudio - 如何使用 EZAudioPlotGL 根据视图大小更改相同的波形大小
EZAudio 自定义 AudioStreamBasicDescription 没有按我的预期工作
AudioBufferList to float ** 转换 EZAudio EZMicrophone for Visual Plotting