我必须将WebCam支持添加到现有的VoIP客户端 - 服务器应用程序中。此应用程序是使用Flash MX和Red5开发的。
我按照前一个程序员的想法:
当他从麦克风中捕获流时, 我从网络摄像头捕获了流。
当他收到来自网络流的音频信号时, 我试图从同一网络流接收视频信号。
我在传出的netstream上使用了函数attachVideo()
。 (发件人方)
和视频对象上的attachVideo(inputNetStream)(接收方)
但它不起作用......
为什么不起作用? 问题出在哪里?
答案 0 :(得分:0)
我通常不会在看似与手头问题无关的问题上找错,但每次人们首先发布他们的直接问题而不理解relevant parts of the ActionScript 3.0 Reference by Adobe时,我会感到惊讶。直截了当的谷歌搜索:
public function attachNetStream(netStream:NetStream):void
指定要在应用程序中的Video对象的边界内显示的视频流。视频流使用NetStream.play()播放的视频文件,Camera对象,或null。如果使用视频文件,则可以将其存储在本地文件系统或Flash Media Server上。如果netStream参数的值为null,则视频不再在Video对象中播放。
public function attachCamera(camera:Camera):void
指定来自摄像机的视频流,以显示在应用程序中Video对象的边界内
使用此方法将用户捕获的实时视频附加到视频对象。您可以在捕获它的同一计算机或设备上本地播放实时视频,也可以将其发送到Flash Media Server并使用服务器将其流式传输给其他用户。
以上暗示当您要显示发布流(或仅仅是相机图像)时,使用attachCamera
,而对于播放已发布内容的流,则使用attachNetStream
。此外,参考页面也记录了这一点,您可以使用Camera.setLoopBack(true)
调用使本地摄像机与另一方所看到的相匹配(所谓的“环回模式”),关于延迟,阻止人工制品,fps等。