Javascript Wami录音机,未调用回调函数

Javascript Wami录音机,未调用回调函数,javascript,flash,audio,Javascript,Flash,Audio,我用的是Wami录音机 问题是当音频播放完成时,回调函数不会执行 以下是我正在使用的代码: function startPlaying() { Wami.startPlaying(playBackUrl, startfn, finishedfn, failedfn ); } function startfn() { alert('start'); } function finishedfn() { alert('finish'); } function failedfn ()

我用的是Wami录音机

问题是当音频播放完成时,回调函数不会执行

以下是我正在使用的代码:

function startPlaying()
{
    Wami.startPlaying(playBackUrl, startfn, finishedfn, failedfn );
}

function startfn()
{
  alert('start');
}
function finishedfn()
{
  alert('finish');
}
function failedfn ()
{
  alert('failed');
}   
最初我调用
startPlaying()
,它开始播放音频文件。 即使音频通过
finishedfn
也不会被调用。Wami录音机中有错误吗

我甚至尝试过改变函数的定义,比如

var finishedfn = function ()
{
  alert('finish');
}
但这对我也没有帮助。
Wami在Google/Stackoverflow上几乎没有任何帮助:(

我知道这是一个相当晚的回答,但我只是遇到了同样的问题,我想我应该与大家分享一下,也许你还需要知道,希望能为其他人节省一点时间

JS函数Wami.startPlaying()在Flash Wami对象内调用相同的函数,该函数采用以下参数:

url:String,
startedCallback:String = null,
finishedCallback:String = null,
failedCallback:String = null
正如您所看到的,3个回调函数实际上采用字符串(而不是原始函数),因此要成功获得回调,您需要传递调用

Wami.startPlaying(playBackUrl, "startfn()", "finishedfn()", "failedfn()");

Wami包括helper函数Wami.nameCallback,允许您传递回调。正如Garland所指出的,flash对象实际上接受字符串。您可以使用nameCallback函数将回调转换为字符串。如果查看包含的gui.js文件,您将看到这一操作

以下是示例用法:

Wami.startRecording('/myUrl', Wami.nameCallback(function () {
  alert('started recording');    
}));

我用了一些其他的录音机来记录我的声音。我现在不在做这个,但据我记忆所及,我以前试过这个东西;正如预期的那样,这实际上是在调用函数startfn、finishedfn和failedfn的时候调用了
Wami.startPlaying(playBackUrl,“startfn(),“finishedfn(),“failedfn()”)
已经写好了。不管怎样,我以后会试试的。谢谢。