2016-03-08 30 views
1

我是iSpeech的新手,试图在iPhone应用上实现此功能,并想知道如何识别用户是否正在讲话。例如,当麦克风处于活动状态并且用户说出某些内容时,我想捕获该事件以显示一些动画,并在用户静音时停止播放动画。iSpeech。识别用户讲话的时间

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

请帮忙。

如果你想找出当用户来说,你正在使用的框架一样iSpeech,你可以设置一个计时器,找出体积谢谢

回答

0

。这将在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)"); 
    } 
}