1

これをiPhoneアプリに実装しようとしているiSpeechは初めてで、ユーザーが話しているかどうかを特定する方法/特定できるかどうかを知りたいです。たとえば、マイクがアクティブでユーザーが何かを言っているときに、そのイベントをキャプチャしてアニメーションを表示したいと思います。ユーザーが沈黙しているときは、アニメーションを停止します。

APIにそのようなことをする何かがありますか? または、iSpeech が既にプロジェクトに埋め込まれている場合、iSpeech と並行して AVaudioSession から実行することは可能ですか?

助けてください。

ありがとうございました

4

1 に答える 1

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)");
    }
}
于 2016-03-11T21:22:47.840 に答える