zoukankan      html  css  js  c++  java
  • 使用NetStream对象播放录制声音的苦恼……

     啊转贴:
    又遇到一个费解的问题,作了很多测试都找不到原因来……郁闷中。

    在本地测试一个用串流对象录制来自麦克风声音的FlashCom程序,经由NetConnection Debugger面板侦测已确保和应用程序的联接没有问题,而且录制声音的命令也被执行了,在相应的Streams文件夹中的的确确生成了flv文件,但 不知为什么,在通过NetStream的play方法按默认方式播放时,有时能播放刚刚录制的声音,有时却不能,而且不能的时候居多,而一旦能播放的时 候,在不关闭当前swf文件的前提下,反复录播一切正常,可常常是,关掉swf文件后再打开, 就变得不能播放录制的声音了,时好时坏,你说奇怪不奇怪?难道是我的麦克风不够灵敏的原因?还是FlashCom对麦克风的质量有特别的要求?我怀疑是不 是跟麦克风的硬件质量有关,但我也不知道是不是因为某些环境变量没有设置好的缘故?要么就是程序有漏洞?我想不出。有闪友遇到类似的情况吗?

    我用来测试的文件写得很简单的,主场景上只有一个用PushButton按钮组件生成的实例(命名:recand_btn),默认Label是:Record Sound,事件处理是调用dorecord函数。在主场景第一帧上写有下面的程序:
    代码:

    stop();
    #include "NetDebug.as"
    newmic_nc = new NetConnection();
    //下面这个联机是正常的
    newmic_nc.connect("rtmp:/usemicrophone/first");
    newmic_ns = new NetStream(newmic_nc);
    getmicro = Microphone.get();
    getmicro.setSilenceLevel(0);
    getmicro.onStatus = function(infomsg) {
    if (infomsg.code.indexOf("Unmuted") != -1) {
    trace("开通");
    } else {
    trace("未启用");
    }
    };
    function dorecord() {
    if (record_btn.getLabel() == "Record Sound") {
    newmic_ns.attachAudio(getmicro);
    newmic_ns.publish("soundsection", "record");
    record_btn.setLabel("Play Sound");
    } else if (record_btn.getLabel() == "Play Sound") {
    record_btn.setLabel("Record Sound");
    newmic_ns.play("soundsection",0,-1,true);
    }
    }


    请大家帮忙看看。这是为什么?谢谢!

  • 相关阅读:
    2016521-Java-第八周学习总结
    20165221 第七周学习总结
    20165221—JAVA第六周学习心得
    20165221 JAVA第五周学习心得
    20165221 JAVA第四周学习心得
    结对学习创意照
    20165331 第三周学习总结
    20165331 课下作业
    20165331 第二周学习总结
    20165331 第一周学习总结
  • 原文地址:https://www.cnblogs.com/chinatefl/p/404308.html
Copyright © 2011-2022 走看看