Как воспроизвести скачанные с YouTube видео с помощью Exoplayer? Ни один из доступных экстракторов (...) не мог прочитать поток? - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь воспроизвести загруженное видео с YouTube, используя Exoplayer. Но у меня есть две проблемы, связанные с этим.

Во-первых, загруженное видео на YouTube не имеет расширения. Как будто это просто "hY_0uP9mGAw". Нет .mp4 или любое другое расширение. Можно ли воспроизвести видео такого типа?

Вот код, который я использую и получил ошибку: Ни один из доступных экстракторов (...) не может прочитать поток.

String source = "/storage/emulated/0/downloads/hY_0uP9mGAw";
        Context mContext = getApplicationContext();
        if (player == null) {
            player =
                    ExoPlayerFactory.newSimpleInstance(
                            new DefaultRenderersFactory(this), new DefaultTrackSelector(), new
                                    DefaultLoadControl());
        }
        player.setPlayWhenReady(true);
        DataSource.Factory dataSourceFactory =
                new DefaultDataSourceFactory(
                        mContext, Util.getUserAgent(mContext, "Music Player"), null);
        ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
        // The MediaSource represents the media to be played.
        MediaSource mediaSource =
                new ExtractorMediaSource(
                        Uri.parse(source), dataSourceFactory, extractorsFactory, null, null);
        player.prepare(mediaSource, true, true);

Любая помощь мне бы очень понравилась. Я отлаживаю это за последние 3 дня и ничего не получаю.

...