移动设备上忽略了Deezer Javascript SDK播放相册偏移量

移动设备上忽略了Deezer Javascript SDK播放相册偏移量,javascript,deezer,Javascript,Deezer,在我的Deezer InApp中,当我使用非零偏移量调用DZ.player.playAlbum方法时,例如DZ.player.playAlbum(10008268,true,0,13),播放从Deezer桌面站点上的给定偏移量开始,但在移动应用程序(Android和iOS)中,播放从开始。移动设备上是否不支持偏移?有什么解决办法吗?这对我来说是一个重要的功能。我发现了一个基于DZ.player.seek的解决方案,它似乎可以在Android上运行,但在iOS上无法运行,除非: 需要监听playe

在我的Deezer InApp中,当我使用非零偏移量调用
DZ.player.playAlbum
方法时,例如
DZ.player.playAlbum(10008268,true,0,13)
,播放从Deezer桌面站点上的给定偏移量开始,但在移动应用程序(Android和iOS)中,播放从开始。移动设备上是否不支持偏移?有什么解决办法吗?这对我来说是一个重要的功能。

我发现了一个基于
DZ.player.seek的解决方案,它似乎可以在Android上运行,但在iOS上无法运行,除非:


需要监听
player_position
事件,因为如果玩家位置为0,调用
DZ.player.seek
似乎没有效果。另外,我需要使用
setTimeout
在回调函数之外取消订阅,否则我会出现异常。

您可以添加一些代码吗?您还需要我添加什么?这一个调用就是触发播放的全部。请尝试使用DZ.player.seek。我还没有测试,但这是另一个改变玩家位置的功能。你尝试过“当前轨道”事件吗?我尝试过“当前轨道”事件,但没有效果,在收到事件后搜索没有效果。我怀疑事件是在播放器位置从0移动之前触发的。偏移量在iOS上使用我的测试,但对于Android,您可以使用
player\u play
事件,将
once
参数设置为
true
如下:
DZ.event.subscribe(事件,回调,once)谢谢,使用
player\u play
事件可以在Android上工作,但不幸的是,我没有看到在iOS上触发该事件。为什么偏移量在iOS上对您有效,您是否有一些特殊版本的SDK?我的呼叫与您的稍有不同,请尝试
DZ.player.playAlbum(10008268,0,13)
const album = 10008268;
const trackIndex = 0;
const offset = 10;

DZ.player.playAlbum(album, true, trackIndex, tracklist => {
  if (offset) {
    DZ.Event.subscribe('player_position', args => {
      const position = args ? args[0] : null;
      if (position) {
        const currentTrack = tracklist.tracks[trackIndex];
        const currentTrackLength = Number(currentTrack.duration);
        const seekOffset = offset / currentTrackLength * 100;
        DZ.player.seek(seekOffset);

        setTimeout(() => DZ.Event.unsubscribe('player_position'));
      }
    });
  }
});