2017-02-05 2 views
0

Каков правильный способ перехода к определенной дорожке при воспроизведении альбома с помощью Deezer Native SDK? Я попытался расширить Python example с помощью следующей функции:Deezer Native SDK: Как прыгать на трассу?

def playback_3(self): 
     self.log("3 => {}".format(self.context.dz_content_url)) 
     self.player.play(command=PlayerCommand.JUMP_IN_TRACKLIST, index=3) 

в myDeezerApp.py. Это действительно играет трек номер 3 (четвертый из альбома), но потом продолжается с той, которая была сыграна до того, как я прыгнул до 3.

E.g. Я играл на треке 0, затем я вызываю playback_3, затем трек № 3 играет. Когда все закончится, воспроизведение продолжается с дорожкой № 1. Однако я бы хотел, чтобы она продолжалась с дорожкой № 4.

Как это достичь? Я также пробовал START_TRACKLIST вместо JUMP_IN_TRACKLIST, но это показывает то же поведение.

Короче: То, что я пытаюсь достичь, чтобы начать воспроизведение с данной дорожки из какого-нибудь альбома, и у игрока последовательно играть все следующие треки (без вызова player.play для каждого трека).

ответ

0

Хороший способ - сохранить текущий индекс в списке дорожек в переменной current_track_index.

Если вы хотите, чтобы перейти к следующему 3 трека добавить 3 к индексу

next_3rd_track_index = current_track_index + 3 

и называют self.player.play так:

def playback_next_3rd_track(self): 
    self.player.play(command=PlayerCommand.START_TRACKLIST, index=next_3rd_track_index) 

JUMP_IN_TRACKLIST является устаревшим, сбивает с толку и не должны использоваться больше.

+0

Спасибо Кирилл, но 3 был просто жестким образцом фиктивного примера. И проблема такая же, независимо от того, использую ли я JUMP_IN_TRACKLIST или START_TRACKLIST. (Я добавил сводку к вопросу, чтобы уточнить, что я пытаюсь сделать.) – fuenfundachtzig

+0

Есть ли способ обновить внутренний индекс * трека игрока? – fuenfundachtzig

+0

Я не уверен, что он ответит на ваш вопрос, но в настоящее время есть ошибка в lib. Когда вы нажимаете конкретный индекс, это будет не индекс + 1 трек, который будет воспроизводиться сразу после. Я должен быть исправлен в следующем выпуске. – CyrilP

Смежные вопросы