iSpeech. Распознать, когда пользователь говорит

Я новичок в iSpeech, пытаюсь реализовать это в приложении для iPhone и хотел бы знать, как / если я могу определить, говорит ли пользователь. Например, когда микрофон активен и пользователь что-то говорит, я хотел бы зафиксировать это событие, чтобы показать некоторую анимацию, а когда пользователь молчит, я бы остановил анимацию.

Есть ли в их API что-то подобное? или я могу сделать это из AVaudioSession параллельно iSpeech, когда iSpeech уже встроен в мой проект?

Пожалуйста помоги.

Спасибо

1 ответ

Решение

Если вы хотите узнать, когда пользователь говорит, вы используете такую ​​среду, как 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)");
    }
}
Другие вопросы по тегам