MusicKitJS: Невозможно воспроизвести песни из библиотеки пользователя. - PullRequest
0 голосов
/ 10 июня 2018

Итак, я экспериментирую с Apple MusicKit JS (https://developer.apple.com/documentation/musickitjs), выпущенной на прошлой неделе. У меня проблемы с воспроизведением песен, извлеченных из конечных точек библиотеки и из того, что я могу сказать, это из-за формата идентификатора.

Если я использую их примеры документов и устанавливаю очередь в альбом с идентификатором, подобным 1025210938, песни воспроизводятся нормально. Однако при получении песни из пользовательской библиотеки iCloud (т.е. /v1/me/library/albums или вmusickitjs case music.api.library.albums()) Я получаю идентификатор, который выглядит как l.uUZAkT3, и они ничего не делают, когда я пытаюсь их воспроизвести.

Может быть, кто-то, кто более знаком с тем, как работает API Apple Music в целом илиИспользуемый MusicKit для iOS сможет сообщить мне, почему это так или как получить полезный идентификатор для элементов библиотеки пользователя.

1 Ответ

0 голосов
/ 14 июня 2018

Большая часть MusicKit JS основана на Обещаниях.setQueue метод является одним из этих методов, основанных на обещаниях.

В частности setQueue может получить данные для вас, если у вас еще нетОтвет API данных удобен.

Чтобы обеспечить готовность данных к использованию, вам необходимо выполнить любую функцию воспроизведения в разрешенном Promise.

MusicKit.getInstance().setQueue({ album: 'l.abc123'}).then(function(queue) {
    MusicKit.getInstance().play();
});

или

MusicKit.getInstance().api.library.albums().then(function(albums) {
    MusicKit.getInstance().setQueue(albums[0]).then(function(queue) {
        MusicKit.getInstance().play();
    });
});
...