从 NetStream 分离 video/audio

Detach video/audio from NetStream

我不想创建类似 Skype 的体验,两个人可以通过 video/audio 进行交流。现在我希望能够关闭接收方的视频或音频,这意味着我不仅不想显示视频或调低流中的音频音量,我不想确保客户端不流式传输数据(以节省带宽)。这可能吗?

让我举例说明我现在正在做的事情。

主机

var stream:NetStream = new NetStream(connection);
stream.attachCamera(camera);
stream.attachAudio(microphone);
stream.publish('myStream');

客户端

var stream:NetStream = new NetStream(connection);
var stream.play('myStream');

在客户端上,如果有一种方法可以告诉流分离视频或音频,就像您可以将它们附加到主机端一样,我会很高兴。类似于:stream.detachAudio()

请让我知道我是否以错误的方式解决这个问题或者有不同的方法来实现这个。

为此,您可以像这样使用 NetStream.receiveVideo and NetStream.receiveAudio

ns.receiveVideo(true);      // to receive the video stream
ns.receiveVideo(false);     // to stop receiving the video stream

ns.receiveAudio(true);      // to receive the audio stream
ns.receiveAudio(false);     // to stop receiving the audio stream

当然,您可以使用 NetStream.info 验证您没有接收到视频或音频流:

trace('ns.videoBytesPerSecond : ' + ns.info.videoBytesPerSecond);
trace('ns.audioBytesPerSecond : ' + ns.info.audioBytesPerSecond);

希望能帮到你。