我目前有一个函数设置,可以在TideSDk(一个应用程序包装程序)中播放声音,如下所示:(注意:Ti.Media是来自TideSDk的API)
function playSound(soundFilePath){
var s = Ti.Media.createSound(soundFilePath);
s.play();
}
然后我像这样调用这个函数:(再次不要担心 Ti.Filesystem,更多的 API)
$("#audioMain").click(function() {
var sound = 'Level1/my_body_here_i_am/audio/f_sentence1.mp3';
playSound(Ti.Filesystem.getFile(Ti.Filesystem.getResourcesDirectory(), sound).nativePath())
});
我在这里的问题是我需要以某种方式将"结束"事件绑定到播放的声音,它通常就像
:$('#someID').bind('ended', function() {
//do something
});
但是由于我不能在这里使用 ID 或类,我不知道要绑定到什么。我试过:
sound.addEventListener("ended", function() { }); or
s.addEventListener("ended", function() { });
但是似乎无法使任何这些工作,我不确定我是否必须在原始函数中包含此绑定事件..它已经让我烦恼了几个小时。
谢谢社区。
快速浏览TideSDK文档后,似乎您可以执行以下操作:
function playSound(soundFilePath){
var s = Ti.Media.createSound(soundFilePath);
s.play();
s.onComplete(function(){
alert("sound finished");
});
}
查看此处以了解所有细节 - http://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.Media.Sound
看起来调用 Ti.Media.createSound();
返回 Ti.Media.Sound
对象,该对象具有 .play()
方法以及我提供的链接中列出的其他方法。希望这有帮助