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
こちらのサイト様があったから出来ました。
きっと、無ければ詰んでいたと思います。
ありがとうございます。
出来ました。
すべての画像ごとに録音ができました。
停止ボタンを押した時点までの長さのファイルが出来ました。
詳細を書きたいのですが、
試行錯誤で遅くなってしまったので続きは明日。