linzhuohao213 2014-10-29 12:35 采纳率: 0%
浏览 2758

flashwavrecorder Demo 问题

我今天找到了一个可以再web页面上使用JS+FLASH来录音的开源代码——flashwavrecordr
但是我从github下载的Demo,却不能正确运行,后来我发现主要是Recorder 中的 recorder为空

后来我查了一下代码,recorder 这个属性是从一个事件里面进行处理的
[code=javascript]
window.fwr_event_handler = function fwr_event_handler() {
$('#status').text("Last recorder event: " + arguments[0]);
var name, $controls;
switch (arguments[0]) {
case "ready":
var width = parseInt(arguments[1]);
var height = parseInt(arguments[2]);
FWRecorder.uploadFormId = "#uploadForm";
FWRecorder.uploadFieldName = "upload_file[filename]";
FWRecorder.connect("recorderApp", 0);
FWRecorder.recorderOriginalWidth = width;
FWRecorder.recorderOriginalHeight = height;
$('.save_button').css({'width': width, 'height': height});
break;

  case "no_microphone_found":
    break;

  case "microphone_user_request":
    recorderEl().addClass("floating");
    FWRecorder.showPermissionWindow();
    break;

  case "microphone_connected":
    FWRecorder.isReady = true;
    $uploadStatus.css({'color': '#000'});
    break;

  case "permission_panel_closed":
    FWRecorder.defaultSize();
    recorderEl().removeClass("floating");
    break;

  case "microphone_activity":
    $('#activity_level').text(arguments[1]);
    break;

  case "recording":
    name = arguments[1];
    $controls = controlsEl(name);
    FWRecorder.hide();
    setControlsClass($controls, CLASS_RECORDING);
    break;

  case "recording_stopped":
    name = arguments[1];
    $controls = controlsEl(name);
    var duration = arguments[2];
    FWRecorder.show();
    setControlsClass($controls, CLASS_PLAYBACK_READY);
    $('#duration').text(duration.toFixed(4) + " seconds");
    break;

  case "microphone_level":
    $level.css({width: arguments[1] * 50 + '%'});
    break;

  case "observing_level":
    $showLevelButton.hide();
    $hideLevelButton.show();
    break;

  case "observing_level_stopped":
    $showLevelButton.show();
    $hideLevelButton.hide();
    $level.css({width: 0});
    break;

  case "playing":
    name = arguments[1];
    $controls = controlsEl(name);
    setControlsClass($controls, CLASS_PLAYING);
    break;

  case "playback_started":
    name = arguments[1];
    var latency = arguments[2];
    break;

  case "stopped":
    name = arguments[1];
    $controls = controlsEl(name);
    setControlsClass($controls, CLASS_PLAYBACK_READY);
    break;

  case "playing_paused":
    name = arguments[1];
    $controls = controlsEl(name);
    setControlsClass($controls, CLASS_PLAYBACK_PAUSED);
    break;

  case "save_pressed":
    FWRecorder.updateForm();
    break;

  case "saving":
    name = arguments[1];
    break;

  case "saved":
    name = arguments[1];
    var data = $.parseJSON(arguments[2]);
    if (data.saved) {
      $('#upload_status').css({'color': '#0F0'}).text(name + " was saved");
    } else {
      $('#upload_status').css({'color': '#F00'}).text(name + " was not saved");
    }
    break;

  case "save_failed":
    name = arguments[1];
    var errorMessage = arguments[2];
    $uploadStatus.css({'color': '#F00'}).text(name + " failed: " + errorMessage);
    break;

  case "save_progress":
    name = arguments[1];
    var bytesLoaded = arguments[2];
    var bytesTotal = arguments[3];
    $uploadStatus.css({'color': '#000'}).text(name + " progress: " + bytesLoaded + " / " + bytesTotal);
    break;
}

};
[/code]
我也添加了断点调试过,证明我操作的时候没有运行过这个代码。
请问有谁用过这个东西的,能给我解答一下

  • 写回答

4条回答

  • Go 旅城通票 2014-11-18 08:21
    关注

    发布网站通过http访问试试,js要控制flash或者调用flash里面的方法要发布后才能执行,否则报错

    你也可以用开发工具如chrome的开发人员工具,或者firebug看看提示什么错误

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题