Воспроизвести один трек Spotify SDK

Я использую SDK Spotify для Android и пытаюсь воспроизвести одну песню , и я хотел бы воспроизвести песню после того, как текущая будет завершена. Проблема в том, что после завершения песни Spotify воспроизводит случайную песню. Можно ли воспроизвести песню, и после нее автоматически не будет воспроизводиться что-либо еще?

Я просто вызываю функцию воспроизведения API удаленного проигрывателя приложения,

mSpotifyAppRemote?.getPlayerApi()?.play(uri)

person Mikee    schedule 06.11.2018    source источник


Ответы (2)


@Mikee, вы не делаете ничего плохого, Spotify мешает воспроизведению треков, если вы используете только бесплатную версию, если вы используете Premium, он будет работать правильно. Достаточно забавно, если вы попробуете сыграть альбом или исполнителя, который работает с бесплатной версией.

person jahcoder    schedule 24.01.2020
comment
ОМГ спасибо большое. Но откуда у вас эта информация? - person Arutyun Enfendzhyan; 14.04.2020

Я не эксперт, но из их документации похоже, что вы могли бы смотреть PlayerState. Я также не уверен, когда сработает событие PlayerState, но если оно возвращается относительно часто, вы можете проверить значение track и посмотреть, перешло ли оно к null или другому значению, и работать с ним.

Вот пример Java с их веб-сайта:

// Subscribe to PlayerState
        mSpotifyAppRemote.getPlayerApi()
                .subscribeToPlayerState()
                .setEventCallback(new Subscription.EventCallback<PlayerState>() {

            public void onEvent(PlayerState playerState) {
                // See what values are in playerState, might be able to determine 
                // if it's now randomly playing?
                final Track track = playerState.track;
                if (track != null) {
                    Log.d("MainActivity", track.name + " by " + track.artist.name);
                    // If the track is now different, your song has finished, stop it?
                }
            }
        });

Я добавил несколько дополнительных комментариев в приведенный выше код, которые могут дать некоторые результаты!

person EM-Creations    schedule 06.11.2018
comment
Спасибо, проблема в том, что я пробовал это в прошлом, значение редко становится равным нулю, обычно оно переходит на другую дорожку, я могу прослушать это изменение и остановить следующую дорожку, проблема в том, что следующая дорожка все равно будет воспроизводиться слышно около секунды - person Mikee; 06.11.2018
comment
@Mikee А, какие еще прослушиватели событий предоставляет API? Если он предоставляет информацию о текущей дорожке, можете ли вы получить продолжительность песни, которую вы воспроизводите в данный момент, а затем заснуть и остановить звук после этой продолжительности? - person EM-Creations; 06.11.2018
comment
Проблема в том, что это по-прежнему не мешает воспроизведению других треков. - person Mikee; 06.11.2018
comment
@Mikee Не могли бы вы получить продолжительность трека, который хотите воспроизвести, как только начнете его воспроизводить, а затем использовать таймер, чтобы остановить вывод Spotify за 1 секунду до его остановки? Таким образом, больше ничего не будет играть. - person EM-Creations; 07.11.2018