录制后停止播放jRecorder

时间:2013-01-09 14:28:31

标签: javascript jquery flash jrecorder

我一直在使用jRecorder一段时间,考虑到它的轻量级,这是非常好的。

现在,我有一个案例需要阻止jRecorder在录制后播放录制的音频。我已经尝试了jRecorder中的几乎所有功能,而且文档不是很好

每个遇到过的人都绕过这个?

这是代码,只是标准的jRecorder内容。

$.jRecorder({
    'swf_path': '/scripts/jrecorder1.1/jRecorder.swf',
    'host': host,
    'callback_started_recording': function() {
        $('.audio-recorder').addClass('recording');
    },
    'callback_finished_recording': function() {
        $('.audio-recorder').removeClass('recording');
    },
    'callback_stopped_recording': function() {
        $.jRecorder.sendData();
        $('.audio-recorder').removeClass('recording');
    },
    'callback_error_recording': function() {
        $('.audio-recorder').removeClass('recording');
    },
    'callback_activityTime': function(time) {
    },
    'callback_activityLevel': function(level) {
    },
    'callback_finished_sending': function(response) {
    }
}, $('.audio-recorder .audio-recorder-singleton'));

2 个答案:

答案 0 :(得分:5)

经过一天的尝试,我终于找到了解决方案。我想我会在这里完整发布,因为jRecorder网站上有很多关于如何做到这一点的评论,但是没有答案。

为此,您需要执行以下操作:

  1. 转到https://github.com/sythoos/jRecorder并在flash-fla文件夹中下载所有内容。确保您在本地计算机上匹配flash-fla文件夹结构的文件夹完全

  2. 完成后,如果您还没有,那么您将需要下载Flash。我使用免费的30天试用版,你也可以这样做。

  3. 打开你现在应该在本地目录中的Main.as文件并删除第160行,如下所示:

    private function recordComplete(e:Event):void
    {
        //fileReference.save(recorder.output, "recording.wav");
    
    
        //finalize_recording();
    
        preview_recording(); <----- **DELETE THIS**
    
    
    }
    
  4. 现在,您需要在Flash中打开AudioRecorderCS4-1.0.fla文件并导出电影(文件 - &gt;导出 - >导出电影)。

  5. 导出后(并命名为可以找到它),在项目中引用/包含新的SWF并更改jRecorder参数的swfPath以匹配新的SWF并瞧! :)

答案 1 :(得分:0)

您可以下载旧版本的jRecorder.swf文件 从这里jRecorder.swf without preview 这样你就不需要重新编译fla文件了。

点击Raw按钮进行下载。此版本没有jSendFileToServer函数 所以你应该在你的jRecorder.js文件中注释掉它。 录制停止后,WAV文件将立即提交给服务器。