Android скачать HLS - PullRequest
       16

Android скачать HLS

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

Я пытаюсь загрузить файл hls, используя HLSDownloader, но пока не получаю лучших результатов.Мой код:

// Main download function
AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() {
      @Override
      protected Void doInBackground(Void... voids) {
        downloadHls(VIDEO_URL);
        return null;
      }
    };
    asyncTask.execute();

...

  // This is the main tool to download hls
  private HlsDownloader hlsDownloader;
  private void downloadHls(String masterHLS) {


    hlsDownloader = getHlsDownloader(masterHLS);

    try {
      hlsDownloader.download(this);
    } catch (IOException e) {
      e.printStackTrace();
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

  }

  private HlsDownloader getHlsDownloader(String mediaPlaylistUri) {

    File downloadFolder = new File(getFilesDir(), "video_id_2");

    SimpleCache cache = new SimpleCache(downloadFolder, new NoOpCacheEvictor());
    DefaultHttpDataSourceFactory factory = new DefaultHttpDataSourceFactory("ExoPlayer", null);

    CacheDataSource cacheDataSource =
            new CacheDataSource(cache, factory.createDataSource(), CacheDataSource.FLAG_BLOCK_ON_CACHE);

    // Create a downloader for the first variant in a master playlist.
    return new HlsDownloader(
            Uri.parse(mediaPlaylistUri), new DownloaderConstructorHelper(cache, factory));
  }

Кажется, загрузка начинается, и я получаю прогресс загрузки, но я не могу получить доступ к загруженному файлу (возможно, нетсуществует), поэтому я не знаю, хорошо ли я пишу код.Хотелось бы получить некоторую помощь.

РЕДАКТИРОВАНИЕ:

В настоящее время у меня есть загрузка несколькими порциями (я забыл добавить разрешение на запись в манифест) всеназван как * .ve.exo файлы расширения, но я не знаю, как их воспроизводить, есть идеи?

...