我正在尝试理解如何在AmplitudeJS中设置歌曲之间的时间延迟,但没有成功。
Amplitude使用JSON文件来定义歌曲和回调。在我的例子中,它是一个本地JSON文件:
来自AmplitudeJS示例:
var playCount = 0;
Amplitude.init({
"songs": [
{
"name": "Song Name 1",
"album": "Album Name",
"url": "/song/url.mp3",
"cover_art_url": "/cover/art/url.jpg"
},
{
"name": "Song Name 2",
"artist": "Artist Name",
"album": "Album Name",
"url": "/song/url.mp3",
"cover_art_url": "/cover/art/url.jpg"
},
{
"name": "Song Name 3",
"artist": "Artist Name",
"album": "Album Name",
"url": "/song/url.mp3",
"cover_art_url": "/cover/art/url.jpg"
}
],
//how the callback is setup in the example
"callbacks": {
'after_play': function(){
playCount++;
alert( playCount );
}
}
});
以下是文档中关于amplitudeJS回调的引用:
回调AmplitudeJS在特定时间调用各种回调,开发人员可以绑定到这些回调。
回调|描述
before_play |在调用play方法之前发生
after_play |调用play方法后发生
before_stop |在调用stop方法之前发生
after_stop |调用stop方法后发生
time_update |时间更新时发生
album_change |专辑变更时发生
song_change |更换歌曲时发生
要绑定到回调,您可以使用上面列出的回调之一的键向回调对象添加一个函数。这个关键字将是一个函数。当回调被调用时,将运行用户传递的函数。
我正在尝试将我的setTimeout()方法添加到"song_change“回调中。根据这在AmplitudeJS中的工作方式,您可以在JSON文件的末尾添加回调。如下所示:
"callbacks": {
'after_play': function(){
playCount++;
alert( playCount );
}
}
我尝试过的许多方法之一是: Var = timeOut (这是在JSON文件的顶部设置的,如振幅文档所示。
"callbacks": {
'song_change': function(){
timeOut= setTimeout (5000);
}
}
我只是想在歌曲之间设置一个延迟。
毫无办法。有没有人对这个问题有任何有用的意见或解决方案?我查看了堆栈溢出上的每个setTimeOut线程,搜索了所有类型的文档,但我似乎无法理解如何将它们组合在一起。
我本质上是一个设计师。作为一个程序员,我不是一个伟大的摇摆人。请温文点,我不知道还能在哪里发帖寻求好的帮助。我在努力。关于AmplitudeJS的资料太少了。我找不到一个专门讨论它的论坛。
TIA -Rachel
发布于 2018-06-30 04:36:54
我将如何在歌曲改变后进行回调,如下所示:
"callbacks": {
'song_change': function(){
Amplitude.pause();
setTimeout (function(){
Amplitude.play();
}, 5000);
}
}
此操作将在歌曲更改时暂停活动歌曲并设置超时。当5秒(5000毫秒)结束时,它将播放将继续下一首歌曲的歌曲。这应该会提供适当的延迟。希望这能有所帮助!
https://stackoverflow.com/questions/49785256
复制相似问题