2016-03-08 4 views
1

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

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

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

Спасибо

ответ

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)"); 
    } 
} 
Смежные вопросы