unityで視線入力アプリに録音機能をつけたい⑧ ボタンを非表示・録音時間・・・

録音ボタンを作りました。

録音後、視線を入力しているときはいらないので

非表示機能をつけます。

 

これは、今までも文字の表示・非表示をやったので

それと同じことをしました。

 

新しいCSファイルを作って

キーを押したら

いろいろ消す専用にしようかと思ったのですが、

既に、ボタンの画像を貼ったりしている

スクリプトがあったので、

そのスクリプト上で非表示等もやることにしました。

 

play.csなどの中の

 

 void Update()

の中に、

 

if (Input.GetKeyDown(KeyCode.R) || Input.GetKeyDown(KeyCode.K))
        {
            if (Button.transform.localScale == Vector3.one)
            {
                // 非表示

                Button.transform.localScale = Vector3.zero;


            }
            else
            {
                Button.transform.localScale = Vector3.one;
            }
        }

 

を入れました。

これで、RかKを押すとボタンが消えます。

 

 

・・・・

 

これで、ある程度欲しかった機能はついた

気がするのですが、

やっぱり不便なのが

 

録音時間が10秒

 

なこと。

 

無音も含めてとにかく10秒。

10秒オーバーしたら、最後から10秒分だけ。

出だしが消えている。

 

例えば

2秒しか音がなくて8秒無音だとします。

視線を入力して音を鳴らして、

すぐに目がそれたとします。

 

でもまたすぐに視線が入力されたら、

気持ち的には

もう一度見たわけだから音が鳴って欲しいと思います。

 

しかし、目をそらしてからすぐに視線入力した場合、

実際は無音の8秒を鳴らしている最中だったりするので

 

「見たのに鳴らない」

 

ということになります。

 

とても不便。

 

ということで、

UnityのMicrophoneで正確な録音時間を取得する方法 - Qiita

こちらのサイト様があったから出来ました。

きっと、無ければ詰んでいたと思います。

 

ありがとうございます。

 

出来ました。

 

すべての画像ごとに録音ができました。

停止ボタンを押した時点までの長さのファイルが出来ました。

 

詳細を書きたいのですが、

試行錯誤で遅くなってしまったので続きは明日。