在我的Deezer InApp中,当我调用带有非零偏移量的DZ.player.playAlbum方法时,例如DZ.player.playAlbum(10008268, true, 0, 13),在Deezer桌面站点上,播放从给定的偏移量开始,但在移动应用程序(安卓和iOS)中,播放从头开始。移动端是否支持偏移量?有什么变通办法吗?这对我来说将是一个重要的特性。
发布于 2015-06-17 21:41:33
我发现了一种基于DZ.player.seek的变通方法,似乎可以在安卓系统上运行,但在iOS上使用receiving player_position events works on iOS之前不能运行
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'));
}
});
}
});需要监听player_position事件,因为如果播放器位置为0,则调用DZ.player.seek似乎没有任何效果。另外,我需要使用setTimeout在回调函数之外取消订阅,否则我会得到一个异常。
https://stackoverflow.com/questions/30874011
复制相似问题