Невозможно использовать Exoplayer lib в Android

Я пытаюсь реализовать Exoplayer в Android для потоковой передачи песен. Это то, что я пытался до сих пор, перейдя по этой ссылке

У меня есть 2 кнопки в файле макета, одна для запуска проигрывателя и другая для остановки.

Вот файл класса

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Button btPlay = (Button) findViewById(R.id.bt_play);
    Button btStop = (Button) findViewById(R.id.bt_stop);
    Context mContext = getBaseContext();
    String URL = "http://sound15.mp3slash.net/indian/tummile/tummile01(www.songs.pk).mp3";

    btPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Uri uri = Uri.parse(URL);
            final int numRenderers = 2;
            SampleSource sampleSource = new FrameworkSampleSource(mContext, uri, null, numRenderers);
//above line gives me error

            TrackRenderer audioTrack = new MediaCodecAudioTrackRenderer(sampleSource);

            ExoPlayer exoPlayer = ExoPlayer.Factory.newInstance(numRenderers);
            exoPlayer.prepare(audioTrack);
            exoPlayer.setPlayWhenReady(true);
        }
    });

}

Ошибка выдается в строке SampleSource, которая говорит

не удается разрешить конструктор FrameworkSampleSource

Как мне справиться с этой ошибкой и продолжить потоковую песню. Любая помощь будет оценена!

1 ответ

Для правильного использования библиотеки: YouTube видео

FrameworkSampleSource не рекомендуется использовать ExtractorSampleSource

см. ниже код:

        String url = parentArray.getJSONObject(songIndex).getString("file");
        Uri uri = Uri.parse(url);
        player = ExoPlayer.Factory.newInstance(1);
        playerControl = new PlayerControl(player);
        DataSource dataSource = new DefaultUriDataSource(this, TAG);
        ExtractorSampleSource extractorSampleSource = new ExtractorSampleSource(uri, dataSource, new DefaultAllocator(64 * 1024), 64 * 1024 * 256);
        audioRenderer = new MediaCodecAudioTrackRenderer(extractorSampleSource, MediaCodecSelector.DEFAULT);
        player.prepare(audioRenderer);
        player.setPlayWhenReady(true);
Другие вопросы по тегам