Воспроизведение местной песни и песни Spotify в одном и том же сервисе проигрывателя Android

У меня есть служба Android, которая может воспроизводить локальную песню (я следовал этому уроку: https://code.tutsplus.com/tutorials/create-a-music-player-on-android-song-playback--mobile-22778) я могу управлять проигрывателем с помощью MediaController (сделанного с помощью этого туто: https://code.tutsplus.com/tutorials/create-a-music-player-on-android-user-controls--mobile-22787)

Я хочу иметь возможность воспроизводить локальную песню и песню Spotify, не меняя контроллер и, если возможно, используя тот же сервис. Цель состоит в том, чтобы иметь возможность иметь список ожидания, который может содержать локальную дорожку или дорожку Spotify, и служба должна иметь возможность читать обе.

У меня есть Spotify SDK, и я могу читать песню с помощью проигрывателя, который предлагает Spotify в своем SDK, но есть ли способ получить URL-адрес потоковой передачи для песни и воспроизвести ее с помощью локального проигрывателя, используя:

String url = "http://........"; // Spotify URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); 
mediaPlayer.start();

Таким образом, контроллер синхронизируется, даже если это песня Spotify или локальная? Если я не могу получить ссылку на потоковую передачу, есть ли способ использовать Android MusicController с Spotify MusicPlayer?

Примечание. Каждый пользователь, который использовал приложение, связан со своей учетной записью Spotify. Я использую фрагмент, поэтому контроллер создается один раз, и тогда я могу получить доступ к сервису везде.


person Maloz    schedule 12.11.2016    source источник


Ответы (1)


Если вы хотите транслировать из Spotify, вам придется использовать их SDK и их проигрыватель, и вы не сможете использовать его для местных песен, поэтому вам понадобятся оба из них, однако вы можете реализовать службу, которая будет иметь оба игрока, MediaPlayer и SpotifyPlayer, и контролируют поток, но мой совет: сделайте их отдельными сервисами. MediaPlayer стабилен, пока Spotify все еще находится в стадии бета-тестирования, и весьма вероятно, что он будет часто меняться

person 3ammari    schedule 13.11.2016