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


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

  • 相关阅读:
    tensorflow 计算图模型的保存和恢复
    Python 小项目
    一些Python代码
    Anaconda 创建的新环境的位置, 解决pycharm中不能访问numpy的问题, conda命令 、设置镜像源、解决jupyter启动新环境kernel问题
    gdb调试程序
    一个完整的Makefile文件举例
    机器学习 Coursera Note
    2018年第九届蓝桥杯 第九题:全球变暖(满分23分)
    2018年第九届蓝桥杯 第八题:日志统计(满分21分)
    2018年第九届蓝桥杯 第七题:螺旋折线(满分19分)
  • 原文地址:https://www.cnblogs.com/chinatefl/p/404308.html
Copyright © 2011-2022 走看看