Можно ли получить информацию об исполнителе, такую ​​как Exoplayer, метаданные? - PullRequest
0 голосов
/ 15 мая 2018

Я не смог найти расширение источника данных для Exoplayer с поддержкой метаданных.Не могли бы вы помочь, я до сих пор не нашел

protected Boolean doInBackground(final String... args) {

        try {

            if (station.getRadiourl().endsWith(".m3u8")) {

                String url = station.getRadiourl();
                emAudioPlayer.setDataSource(context, Uri.parse(url));
                emAudioPlayer.prepareAsync();

            } else {

                Uri uri;
                uri = Uri.parse(station.getRadiourl());

                Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
                String userAgent = Util.getUserAgent(context, "ExoPlayerDemo");
                OkHttpClient okHttpClient = new OkHttpClient();

                DataSource dataSource = new DefaultUriDataSource(context, null,
                        new OkHttpDataSource(okHttpClient, userAgent, null, null, CacheControl.FORCE_NETWORK));

                ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri, dataSource, allocator,
                        BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE);

                MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
                        MediaCodecSelector.DEFAULT, null, true, null, null,
                        AudioCapabilities.getCapabilities(context), AudioManager.STREAM_MUSIC);

                exoPlayer.prepare(audioRenderer);

            }
            return true;

        } catch (IllegalArgumentException e1) {
        } catch (SecurityException e1) {
        } catch (IllegalStateException e1) {
        }
        return false;
    }

Но я не могу найти никакой информации о том, как получить метаданные, например, исполнителя и название текущей песни. Можно ли получить такую ​​информацию?Большое спасибо.

1 Ответ

0 голосов
/ 08 сентября 2018

Если вы хотите получить имя исполнителя, название текущей песни .... используйте эту библиотеку:

implementation 'com.vodyasov:amr:0.5'

Пример:

 Uri uri = Uri.parse("URL");
 OnNewMetadataListener ilistener = new OnNewMetadataListener() {
     @Override
     public void onNewHeaders(String stringUri, List<String> name, List<String> desc, List<String> br, List<String> genre, List<String> info) {
     }

     @Override
     public void onNewStreamTitle(String stringUri, String streamTitle) {
         Animation a = AnimationUtils.loadAnimation(MainActivity.this, R.anim.textanim);
         a.reset();
         songinfo.setText("Song : " + streamTitle);
     }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...