![](/img/trans.png)
[英]Accessing microphone audio samples before sending through NetStream in AS3
[英]AS3: Audio activity level of a NetStream
我正在把頭發拉出來(再次),試圖找到一種方法來讀取NetStream的音頻活動級別,類似於使用麥克風的方式。 我不想讓每個客戶端通過SharedObjects等發送它的activitylevel,這似乎是實際讓它工作的唯一方法。
非常感謝提前!
戴夫
在AS3中,Netstream對象具有名為.info的屬性。 這包含對象NetStreamInfo。 NetstreamInfo將為您提供各種指標。 其中包括屬性'audioBytesPerSecond',它可以指示某個時間點的音頻活動。 為傳入流請求NetStreamInfo將為您提供來自客戶端的數據。 為傳出流請求NetStreamInfo將為您提供來自您自己的cam和mic活動的數據。 有關NetStreamInfo對象的更多詳細信息,請訪問: http : //help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/NetStreamInfo.html
這可能是唯一的方法。 NetStream是一個非常通用的設計對象。 提問這樣的問題的最佳網站可能在FlashComGuru.com上 ,很多NetStream / FMS人都會在這里閑逛。
NetStreamInfo.audioBytesPerSecond不可靠。 作為每秒平均值,在您檢測到缺乏聲音之前需要一秒鍾。
您應該使用NetStreamInfo.audioByteCount。 從Adobe文檔:
指定已到達隊列的音頻字節總數,無論已播放或刷新了多少。 您可以使用此值來計算傳入音頻數據速率,使用您選擇的度量,創建計時器並計算連續計時器調用中的值的差異。
我見過顯示eq欄的Flex示例。
代碼使用兩個對象
SoundTransform和flash.media.SoundChannel
它通過調度具有屬性的自定義事件來起作用,該屬性是包含播放音頻流的EQ的SoundChannel對象。
不確定母鹿如何工作導致它在flex中捆綁,或者如何從NetStream到基於音頻的SoundChannel。
這個例子在jack herrington的“Flex 3組件解決方案”一書的第15章“構建自己的組件”中。 由ed(粉紅色脊椎書籍)的朋友出版。
希望有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.