gpt4 book ai didi

javascript - Titanium 音乐播放器进度事件监听器状态未触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:41 25 4
gpt4 key购买 nike

我有一个不更新进度的音乐播放器。

暂停和播放音乐没有问题,例如:

if (music.isPlaying()) {
var btnsrc = '../images/btn_pause.png'
} else {
var brnsrc = '../images/btn_play.png';
}

var playButton = Ti.UI.createButton({
title: '',
backgroundImage: '../images/btn_pause.png',
width:34,
height:34,
top:10,
left:10
});

playButton.addEventListener('click',function(e){
if (!music.isPaused()) {
music.pause();
} else {
music.play();
}
});

但是当我添加事件监听器时,它永远不会触发:

if (!music.isPlaying()) {   
Ti.API.info('novid=' + robj.curel);
var nove = {index: robj.curel+2, rowData: {}};
nove.rowData.tourid = robj.tour;
dispLocDetails(nove);
music = Ti.Media.createSound({url:"../sounds/" + playlist[0].id + ".mp3"});
music.play();
music.complete = function(){
playlist.splice(0,1)
if (playlist.length!=0){
music = Ti.Media.createSound({url:"../sounds/" + playlist[0].id + ".mp3"});
music.play();
}
};

music.addEventListener('progress',function(e) {
Ti.API.info('Time Played: ' + Math.round(e.progress) + ' milliseconds');
});
}

有什么想法吗?

最佳答案

您正在向 Ti.Media.Sound 添加事件监听器寻找 progress 事件的对象。此对象仅发出 changecompleteerrorinterruptedresume 事件.您要找的对象是Ti.Media.AudioPlayer .

此外,对于 AudioPlayer,您无需重新创建整个对象即可跳至下一首轨道。只需使用 setUrl() 方法:

music.setUrl("../sounds/" + playlist[0].id + ".mp3");  

关于javascript - Titanium 音乐播放器进度事件监听器状态未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20829207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com