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 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值