我在 AS3 项目中从网络摄像头录制到 AMS,为了从麦克风获取音量级别,我必须将麦克风连接到 NetStream。稍后当用户开始记录时,NetStream.time 值从连接相机时开始计算,而不是从调用 NetStream.publish 时开始计算。如果他们停止录制并再次录制,现在 NetStream.time 从 0 开始。到目前为止,解决这个问题的唯一方法似乎是调用发布,然后在连接麦克风后立即关闭 NetStream。AS2 NetStream 的文档提到了这一事实,并建议调用在 AS3 中不起作用的 NetStream.publish(false),也不能只调用没有参数的发布。
ns = new NetStream(nc);
ns.attachCamera(cam);
ns.attachAudio(mic);
然后稍后
ns.publish(filename,"record");
trace(ns.time);
是连接相机和第一次调用发布之间经过的时间。
到目前为止我唯一的解决方案是
ns = new NetStream(nc);
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish(filename,"record");
ns.close();
用户开始重新排序的时间
ns.publish(filename,"record");
trace(ns.time);
ns.time 现在为零。我错过了什么,有更好的解决方案吗?