Wami录音机,没有调用回调函数

时间:2013-04-22 12:15:53

标签: javascript flash audio

我正在使用Wami Recorder

https://code.google.com/p/wami-recorder/

问题是当播放音频结束时,回调函数不会执行。

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

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

function startfn()
{
  alert('start');
}
function finishedfn()
{
  alert('finish');
}
function failedfn ()
{
  alert('failed');
}   

最初我正在调用startPlaying(),它开始播放音频文件。 即使音频越过finishedfn也没有被调用。 Wami Recorder中有错误吗?

我甚至尝试过更改函数的定义,如。

var finishedfn = function ()
{
  alert('finish');
}

但这对我也没有帮助。 在Google / Stackoverflow上几乎没有任何可用的Wami帮助。 :(

2 个答案:

答案 0 :(得分:2)

Wami包含帮助函数 Wami.nameCallback ,允许您传递回调。正如Garland所说,flash对象实际上是字符串。您可以使用nameCallback函数将回调转换为字符串。如果你查看附带的gui.js文件,你会看到这一点。

此处的示例用法:

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

答案 1 :(得分:1)

我知道这是一个非常晚的回应,但我遇到了同样的问题,并且认为我应该分享,你仍然需要了解的机会,并希望能节省其他人一些时间。

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

url:String,
startedCallback:String = null,
finishedCallback:String = null,
failedCallback:String = null

正如您所看到的,3个回调函数实际上是接受字符串(而不是原始函数),因此要成功获得回调,您需要传递调用

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