【问题标题】:Is it possible to get artist information like Exoplayer, metadata?是否可以获取 Exoplayer、元数据等艺术家信息?
【发布时间】:2018-05-15 10:58:50
【问题描述】:

我找不到支持元数据的 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;
    }

但我找不到任何有关如何获取元数据的信息,例如艺术家和当前歌曲的名称。是否可以获得此类信息? 非常感谢。

【问题讨论】:

    标签: android metadata audio-player exoplayer android-music-player


    【解决方案1】:

    如果您想获取艺术家姓名、当前歌曲名称 .... 使用此库:

    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);
         }
    };
    

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多