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 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog