i语音。识别用户何时说话

iSpeech. Recognize when user is speaking

我是 iSpeech 的新手,试图在 iPhone 应用程序上实现此功能,并且想知道 how/if 我可以识别用户是否在说话。例如,当麦克风处于活动状态并且用户正在说话时,我想捕获该事件以显示一些动画,而当用户沉默时,我会停止动画。

他们的 api 中有什么东西可以做这样的事情吗?或者当 iSpeech 已经嵌入到我的项目中时,我是否可以从与 iSpeech 并行的 AVaudioSession 来做到这一点?

请帮忙。

谢谢

如果你想知道用户什么时候在说话,你正在使用像 iSpeech 这样的框架,你可以设置一个定时器来找出音量。 AVAudioRecorderDelegate 会发生这种情况。继承这个class

helloWorldTimer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("sayHello"), userInfo: nil, repeats: true)

此计时器有助于每 0.1 秒监控一次音量。所以即使只是一阵声音,它仍然会被检测到

此功能每 0.1 秒显示一次音量。当麦克风处于活动状态时,使用定时器激活此功能,如上所示。

麦克风关闭后,关闭定时器。简单

还有什么想做的动画,写出来

func sayHello()
{
    if (soundRecorder?.recording == true) {
        soundRecorder?.updateMeters();
        let power:Float = soundRecorder!.averagePowerForChannel(0)
           write your animation etc based on the power (volume) here
        print("Volume is \(power)");
    }
}