如何在Flash AS3/haxe中完全静音无缓冲的直播NetStream



我有一个实时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);

但这并没有让我避免点击的声音

你做错了。我以前做过,receiveAudio(假)工作,因为它应该做的。此外,你听到的声音可能是网络连接不好的结果。

最新更新