我一直在使用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'));
答案 0 :(得分:5)
经过一天的尝试,我终于找到了解决方案。我想我会在这里完整发布,因为jRecorder网站上有很多关于如何做到这一点的评论,但是没有答案。
为此,您需要执行以下操作:
转到https://github.com/sythoos/jRecorder并在flash-fla文件夹中下载所有内容。确保您在本地计算机上匹配flash-fla文件夹结构的文件夹完全。
完成后,如果您还没有,那么您将需要下载Flash。我使用免费的30天试用版,你也可以这样做。
打开你现在应该在本地目录中的Main.as文件并删除第160行,如下所示:
private function recordComplete(e:Event):void
{
//fileReference.save(recorder.output, "recording.wav");
//finalize_recording();
preview_recording(); <----- **DELETE THIS**
}
现在,您需要在Flash中打开AudioRecorderCS4-1.0.fla文件并导出电影(文件 - &gt;导出 - >导出电影)。
swfPath
以匹配新的SWF并瞧! :)答案 1 :(得分:0)
您可以下载旧版本的jRecorder.swf文件 从这里jRecorder.swf without preview 这样你就不需要重新编译fla文件了。
点击Raw按钮进行下载。此版本没有jSendFileToServer函数 所以你应该在你的jRecorder.js文件中注释掉它。 录制停止后,WAV文件将立即提交给服务器。