api - Javascript: Soundmanager2 and Soundcloud event callback -


i'm trying build own soundcloud media player, using options provided both soundmanager2 , soundcloud.

here current code:

sc.stream('/tracks/' + this.media.mediaid, function(audio){             audio.load({                 onload : function(){                     var duration = this.duration;                  },                 onfinish : function(){                     self.updateplaybutton();                     console.log('finished');                 },                 onresume : function(){                     self.updateplaybutton();                     console.log("resumed");                 },                 onstop : function(){                     self.updateplaybutton();                     console.log("stopped");                 },                 onpause : function() {                     self.updateplaybutton();                     console.log('paused');                 },                 whileplaying : function()                 {                     console.log(this.position);                     self.updatescrubber(this.position / (this.duration / 100));                     self.$timeleft.text(self.formattime(this.position / 1000));                     console.log(totalpercent,'my position');                 }              });             self.audio = audio.sid;             self.registerevents();         }); 

i play audio using:

soundmanager.getsoundbyid(self.audio).togglepause(); 

the audio play's, , callbacks fired accordingly. after "onfinish" callback, when hit play again replay audio, wont fire of events.

what did wrong?

according documentation sc.stream() "options" object can passed in second argument:

sc.stream(trackpath, [options], [callback])

the options associated soundobject itself, won't need declare them again when calling individual methods such .load() , .play()

try making call this:

var myoptions = {   onload : function() {     var duration = this.duration;   },   onfinish : function(){     self.updateplaybutton();     console.log('finished');   },   onresume : function(){     self.updateplaybutton();     console.log("resumed");   },   onstop : function(){     self.updateplaybutton();     console.log("stopped");   },   onpause : function() {     self.updateplaybutton();     console.log('paused');   },   whileplaying : function() {     console.log(this.position);     self.updatescrubber(this.position / (this.duration / 100));     self.$timeleft.text(self.formattime(this.position / 1000));     console.log(totalpercent,'my position');   } }  sc.stream('/tracks/' + this.media.mediaid, myoptions, function(audio){   audio.load();   self.audio = audio.sid;   self.registerevents(); }); 

there other strange-looking things code, such not doing variable duration inside onload function. also, using variable self while using this ends looking you're not sure if you're writing python or javascript, maybe makes sense you.

hopefully attaching options soundobject way solve immediate problem anyhow. luck!


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -