とりあえず音声をフェードアウトできるようにしてみたけど
ちょっとイマイチ滑らかじゃない。
人間がラグを感じるれる時間は0.1秒らしいけど、今回フェードするときの変化は
0.2秒刻みで変化するようにした。おそらくこの時点でなんとなく滑らかに変わってない
と感じてしまうものと思われる。でもまあ、意識しないとわからない程度かも。。。
タイマーで0.2秒計測してるのだけど、もちろんもっと短くできる。
ただ音量コントロールバーを実装したときに薄々気づいてたけど音量の変化が反映されるのが
遅い。なので0.2秒より早くするとどんどん音量が変わっていくので全然音量変化が反映されないまま
突然音が切れる、つまりフェードがかからなくなる。デバッガで毎回止めて実行すると
正しく音量値が書き換わってるし音量も変化しているのが確認できるが実際に実行するとダメ
なことから音量が反映されてないという結論が得られる。
もしかしたら環境によっては0.2秒でも早すぎるのかもしれない。一応マージンはとってあるので
大丈夫だとは思うが。。。。
html5のAudioはまだまだ発展途上なので今後改善されることに期待したい。。。。
てかAudioに標準でフェード機能を付けて欲しい。
0 件のコメント:
コメントを投稿