我正在努力了解如何在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文件的顶部,如Amplitude docs所示。
"callbacks": {
'song_change': function(){
timeOut= setTimeout (5000);
}
}
我只是想在歌曲之间设置延迟。
没有任何作用。有没有人对此问题有任何有用的评论或解决方案?我已经查看了堆栈溢出中的每个setTimeOut线程并搜索了各种文档,但我似乎无法理解如何将它们放在一起。
我是一名设计师。作为一名程序员,我不是一个很大的震动。请温柔,我不知道在哪里发帖找到好帮手。我在尝试。有关AmplitudeJS的内容很少。我找不到一个致力于它的论坛。
TIA -Rachel
答案 0 :(得分:0)
在这种歌曲更改后,我该如何处理回调:
"callbacks": {
'song_change': function(){
Amplitude.pause();
setTimeout (function(){
Amplitude.play();
}, 5000);
}
}
当歌曲改变,暂停活动的歌曲并设置超时时,将执行此操作。 5秒钟(5000毫秒)结束时,它将播放歌曲,并继续播放下一首歌曲。这应该提供适当的延迟。希望这会有所帮助!