Flex/ActionScript3.0 VideoDisplay/Video/NetStreamでライブ送受信時に相手の映像や音声のアクティビティを定量化するには
- リファレンスを探してNetStreamInfoぐらいしかないなと思っていたがやはりこれを使って定量化するしかなさそう。使いづらっ!
- http://stackoverflow.com/questions/1442913/as3-audio-activity-level-of-a-netstream
- 「アクティビティ」を定量化するなら十分だが音量などの定量化はできなさそう。以下リファレンスからプロパティの説明を転載。
audioBytesPerSecond プロパティ audioBytesPerSecond:Number [読み取り専用] 言語バージョン: ActionScript 3.0 ランタイムバージョン: Flash Player 10, AIR 1.5 NetStream オーディオバッファがデータを受信する速度(1 秒あたりのバイト数)を指定します。この値は、最後の 1 秒に受信したオーディオデータの平滑化平均として計算されます。
- メディアサーバ経由で相手からマイクのボリュームデータ値をそのまま送信するというのも方法としてはあるが、純粋にNetStreamにちゃんとそのデータが来ているかどうかということを判定するためには、アクティビティとメディアサーバ経由での音量値をてらしあわせて、双方が受信できれば初めて正常に音声が受信できているという判定にするのがよしとなってしまうのではないか?スマートじゃないっ!そのうえ同期もとれんっ!SoundTransformにはオーディオ関係の固定値ぐらいしか入ってないしなぁ・・・。ま、アクティビティが取れればよしとする。新しいバージョンのFlexでは追加されたりするのだろうか?細かいことではあるがぜひAdobeにはやってもらいたい部分である。