Управление игроками Deezer не работает должным образом в Angular - PullRequest
0 голосов
/ 03 февраля 2020

Я уже инициализировал Deezer sdk

  initDeezer() {
        DZ.init({
            appId: '373224',
            channelUrl: 'http://localhost:4200/profile',
            player: {
                container: 'player',
                onload: () => {
                }
            }
        });
    }

Вызов этой функции на хуке ngOnInit () внутри моего компонента, затем я получаю ответ от массива api deezer, сопоставления, чтобы получить массив Идентификаторы треков, затем я загружаю треки в плеер следующим образом:

 DZ.player.playTracks(tracks, false);

Итак, когда я нажму 'play' на плеере deezer, все будет хорошо, все работает нормально, но я отображаю список дорожки, я создал функцию, которая воспроизводит конкретную дорожку, в этом случае моя логика c следующая: 1) загрузить новую дорожку в список дорожек 2) воспроизвести ее

playMusic(trackId) {
        DZ.player.playTracks([+trackId]);
        DZ.player.play();
    }

Проблема: после получения ответа от бэкэнда, нажатие на трек и вызов функции playMusi c ничего не произошло, но если я сначала нажму на плеер deezer, чтобы воспроизвести музыку c, и после этого снова нажму на трек playMusi c() работает отлично. Что я делаю не так? Как заставить playMusi c тоже работать впервые? Также я хотел бы услышать некоторые рекомендации о том, как реализовать SDK deezer для angular приложения, потому что я не уверен, что сейчас делаю это правильно.

...