我正在使用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帮助。 :(
答案 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()");