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);
    }
    }


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

  • 相关阅读:
    列举ASP.NET 页面之间传递值的几种方式
    SQL Server 2010附加数据库失败:无法打开物理文件拒绝访问解决方法
    运行出现错误是:未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600,找不到它的依赖项,并且问题出现在web.config里面
    快捷键
    VS中出现无法嵌入互操作类型
    Java模拟试题(2015-9-2)
    IDEA 的配置文件导入命名空间
    第四章、程序计数器
    IDEA建Mappper.xml
    第三章、运行时数据区概述及线程
  • 原文地址:https://www.cnblogs.com/chinatefl/p/404308.html
Copyright © 2011-2022 走看看