1

我正在使用 Wami 录音机

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 的帮助。:(

4

2 回答 2

2

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

这是示例用法:

Wami.startRecording('/myUrl', Wami.nameCallback(function () {
  alert('started recording');    
}));
于 2013-08-13T03:34:03.270 回答
1

我知道这是一个很晚的回应,但我刚刚遇到了同样的问题,并认为我应该分享,如果你仍然需要知道,希望能节省其他人一点时间。

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

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

如您所见,3 个回调函数实际上采用字符串(不是原始函数),因此要成功获取回调,您需要通过调用

Wami.startPlaying(playBackUrl, "startfn()", "finishedfn()", "failedfn()");
于 2013-06-17T15:50:29.913 回答