iSpeech。识别用户说话的时间

时间:2016-03-08 20:59:12

标签: ios swift ispeech

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

他们的api中有什么东西要做那样的事吗? iSpeech已嵌入我的项目中,是否可以从与iSpeech并行的AVaudioSession中进行此操作?

请帮忙。

谢谢

1 个答案:

答案 0 :(得分:0)

如果您想知道用户说话的时间,您使用的是像iSpeech这样的框架,您可以设置一个计时器来查找音量。这将发生在AVAudioRecorderDelegate上。继承这个类

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)");
    }
}