Загрузка ExoPlayer Clear Key, зашифрованная DASH, зависает на 0% и создает пустой файл .uidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Загрузка ExoPlayer Clear Key, зашифрованная DASH, зависает на 0% и создает пустой файл .uid

Сообщение Anonymous »

Я пытаюсь загрузить фрагменты DASH, зашифрованные Clear Key, для автономной потоковой передачи, используя следующий код, но загрузка зависает на уровне 0 % и создается только файл .uid с номером 0B. Вот фрагмент кода, который я использую:

Код: Выделить всё

   private void downloadVideo() {

DatabaseProvider databaseProvider = new StandaloneDatabaseProvider(this);
SimpleCache downloadCache = new SimpleCache(new File(getExternalFilesDir(null), "downloads"), new NoOpCacheEvictor(), databaseProvider);
Executor executor = Runnable::run;
DownloadNotificationHelper downloadNotificationHelper = new DownloadNotificationHelper(this, "1");
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(this);
DownloadManager downloadManager =
new DownloadManager(
this,
databaseProvider,
downloadCache,
dataSourceFactory,
executor
);

DownloadHelper downloadHelper = DownloadHelper.forMediaItem(this, MediaItem.fromUri(Uri.parse(mpdUrl)), new DefaultRenderersFactory(this), dataSourceFactory);
downloadManager.setMaxParallelDownloads(3);
downloadManager.addListener(new DownloadManager.Listener() {

public void onDownloadChanged(DownloadManager downloadManager, Download download, Exception e) {
Log.i("DownloadManager", "Download changed",    e);
Log.i("DownloadManager", "Downloaded " + String.valueOf(download.getBytesDownloaded()) + " bytes");
Log.i("DownloadManager", "Downloaded " + String.valueOf(download.getPercentDownloaded()) + "%");
switch (download.state) {
case Download.STATE_QUEUED:
Log.i("DownloadManager", "Download queued");
break;
case Download.STATE_DOWNLOADING:
Log.i("DownloadManager", "Download downloading");
break;
case Download.STATE_COMPLETED:
Log.i("DownloadManager", "Download completed");
break;
case Download.STATE_FAILED:
Log.i("DownloadManager", "Download failed");
break;
case Download.STATE_REMOVING:
Log.i("DownloadManager", "Download removing");
break;
case Download.STATE_RESTARTING:
Log.i("DownloadManager", "Download restarting");
break;
}
}

@Override
public void onIdle(DownloadManager downloadManager) {
Log.i("DownloadManager", "Download idle");
}

@Override
public void onInitialized(DownloadManager downloadManager) {
Log.i("DownloadManager", "Download initialized");
}
});
downloadHelper.prepare(new DownloadHelper.Callback() {
@Override
public void onPrepared(DownloadHelper helper) {
Log.i("DownloadHelper", "Download prepared");
DownloadRequest downloadRequest = helper.getDownloadRequest(Util.getUtf8Bytes(mpdUrl));
downloadManager.addDownload(downloadRequest);
Log.i("DownloadHelper", "Download prepared");

}

@Override
public void onPrepareError(DownloadHelper helper, IOException e) {
Log.e("DownloadHelper", "Failed to prepare download", e);
}
});
}

Я проверил, предоставлены ли необходимые разрешения и что URL-адрес правильный и доступен. Несмотря на это, загрузка не происходит и никакие фрагменты не загружаются. Мы будем очень признательны за любые идеи или предложения о том, как решить эту проблему.


Подробнее здесь: https://stackoverflow.com/questions/787 ... mpty-uid-f
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»