2014-05-07 56 views
1

我有一個活的NetStream創建和使用方法如下:如何在Flash AS3/haxe中完全靜音未緩衝的實時NetStream?

m_stream = new NetStream(m_connection); 
m_stream.bufferTime = 0; 

// mutes most of the sounds in exchange of clicking noise 
m_stream.soundTransform = new SoundTransform(0); 
m_stream.receiveAudio(false); // seems to have no effect at all on rtmp streams 

m_video.attachNetStream(m_stream); 
m_stream.play(m_chan,-1,-1,true); 

的問題是,儘管SoundTransform在與零體積應用水平,我仍然有時聽到「咔噠」聲,當實際聲音的靜音流發生。在緩衝流中沒有這種問題,僅在無緩衝(m_stream.bufferTime = 0);但我不想增加緩衝時間,因爲1)我希望儘可能減少延遲,並且2)即使非常短的緩衝區(如1.0秒)也會最終延遲視頻超過10-20秒。

有沒有辦法將所有聲音完全靜音?我一直在嘗試做類似

SoundMixer.stopAll(); 
SoundMixer.soundTransform = new SoundTransform(0); 

但是,這並沒有讓我不能點擊聲音。

+0

嗨,你有沒有設法解決點擊問題呢?我有同樣的問題,但使用appendbytes(如果'ns.bufferLength'追蹤達到「0」,那麼微妙的點擊開始)...任何提示將受到歡迎。 –

回答

0

你在做錯事。我之前完成了它並接收Audio(false)按照它應該做的那樣工作。另外,您聽到的聲音可能是互聯網連接不良的結果。

+0

我的意思是,再試一次,並確保它是它運行的實際代碼,因爲它看起來像'm_stream.receiveAudio(false);'沒有執行。此外,發佈完整的代碼與事件週期。 – stroncium

相關問題