You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

删除由exo player下载服务下载的文件

以下是一个示例代码,展示如何使用ExoPlayer删除由其下载服务下载的文件:

import android.content.Context;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;

import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.DefaultLoadControl;
import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.LoadControl;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.upstream.cache.Cache;
import com.google.android.exoplayer2.upstream.cache.CacheDataSource;
import com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory;
import com.google.android.exoplayer2.upstream.cache.CacheEvictor;
import com.google.android.exoplayer2.upstream.cache.SimpleCache;
import com.google.android.exoplayer2.util.Util;

import java.io.File;

public class ExoPlayerDownloadUtils {

    private static final String TAG = "ExoPlayerDownloadUtils";
    private static final String DOWNLOAD_CONTENT_DIRECTORY = "downloads";
    private static final String CACHE_SUBDIRECTORY = "exoplayer";

    private static ExoPlayerDownloadUtils instance;
    private Cache downloadCache;
    private DataSource.Factory dataSourceFactory;

    private ExoPlayerDownloadUtils(Context context) {
        // 创建缓存目录
        File downloadDirectory = new File(context.getExternalFilesDir(null), DOWNLOAD_CONTENT_DIRECTORY);
        if (!downloadDirectory.exists()) {
            downloadDirectory.mkdirs();
        }
        // 创建缓存对象
        downloadCache = new SimpleCache(new File(downloadDirectory, CACHE_SUBDIRECTORY), new CacheEvictor() {
            @Override
            public void onCacheInitialized() {

            }

            @Override
            public void onStartFile(File file, long position, long length) {

            }

            @Override
            public void onSpanAdded(Cache cache, CacheSpan span) {

            }

            @Override
            public void onSpanRemoved(Cache cache, CacheSpan span) {

            }

            @Override
            public void onSpanTouched(Cache cache, CacheSpan oldSpan, CacheSpan newSpan) {

            }

            @Override
            public void onSpanMoved(Cache cache, CacheSpan oldSpan, CacheSpan newSpan) {

            }

            @Override
            public void onCacheSpanRemoved(Cache cache, CacheSpan span) {

            }
        });
        // 创建数据源工厂
        dataSourceFactory = new CacheDataSourceFactory(downloadCache, new DefaultDataSourceFactory(context,
                Util.getUserAgent(context, "ExoPlayerDownloadUtils")), CacheDataSource.FLAG_IGNORE_CACHE_ON_ERROR);
    }

    public static ExoPlayerDownloadUtils getInstance(Context context) {
        if (instance == null) {
            instance = new ExoPlayerDownloadUtils(context.getApplicationContext());
        }
        return instance;
    }

    public void deleteDownloadedFile(Context context, String downloadUrl) {
        if (TextUtils.isEmpty(downloadUrl)) {
            return;
        }
        // 创建播放器
        TrackSelector trackSelector = new DefaultTrackSelector();
        LoadControl loadControl = new DefaultLoadControl();
        SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(new DefaultRenderersFactory(context), trackSelector, loadControl);
        // 创建媒体源
        Uri uri = Uri.parse(downloadUrl);
        MediaSource mediaSource = new ExtractorMediaSource(uri, dataSourceFactory, new DefaultExtractorsFactory(), null, null);
        // 准备播放器
        player.prepare(mediaSource);
        // 删除缓存文件
        CacheUtil.remove(cache, CacheUtil.generateKey(uri));
        // 释放播放器资源
        player.release();
    }

}

使用方法:

ExoPlayerDownloadUtils.getInstance(context).deleteDownloadedFile(context, downloadUrl);

其中,context应用的上下文,downloadUrl是要删除的下载文件的URL。请确保在调用此方法之前已经完成了文件的下载。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

集简云1月新增/更新:新增3大功能,21款集成应用,更新11款应用,新增150多个可用动作

可能会出现这些系统无法被云服务所访问的情况。在本期的功能迭代中,我们上线了网关配置功能。通过使用网关配置,可以在不改变现有公司网络安全机制的情况下,建立一个安全且可控的连接通道,使公司内部本地化/... 需要将csv/exce文件数据导入到其他系统中进行数据的录入和使用。手动将数据读取并导入时常出现数据同步不及时的问题,严重影响了业务推进,甚至造成数据泄露的情况发生。文件处理功能通过文件下载链接,自动将...

集简云10月新增5大功能,32款集成应用,更新12款应用,200多个可用动作

删除等操作状态并没有本办法实时记录并查看,无法得知某时某刻是谁对应用进行了操作。 现在我们在企业审计日志中增加了,添加账号、更新账号、删除账号三个功能,便于用户随时监控账号情况。... 软牛及其他服务平台。 官网:https://www.6api.net/ **可用执行动作*** 企业工商信息查询* 获取拼多多商品详情信息* 获取拼多多商品列表信息* 获取头条、财经、体育等频道热门新闻...

集简云2月新增/更新:新增4大功能,19款应用,更新15款应用,新增120多个动作

专业的在线支付服务。 官网:https://pay.weixin.qq.com**可用执行动作*** 转账到零钱* 查询批次单* 申请转账批次单子回单* 查询转账账单电子回单**应用使用示例****电商系... * 上传训练文件呢* 开始训练任务 **应用使用示例****飞书即时消息+ChatGPT+飞书即时消息:**当飞书机器人接收到消息时,ChatGPT自动回答,并将回答数据传回至飞书机器人([点击此处使用该流程模板...

JuiceFS 在火山引擎边缘计算的应用实践

这里简单介绍一下在边缘渲染中遇到的存储问题:* 需要对象存储与文件系统的元数据统一,实现数据通过对象存储接口上传以后,可以通过 POSIX 接口直接进行操作;* 满足高吞吐量的场景需求,尤其是在读的时候;* 完全实... 因为是直接给用户提供存储服务,因此对于写入成功的数据不允许丢失,或者出现跟写入的数据不一致的情况。* **使用一套元数据,同时支持对象存储和文件存储**:这样业务方在使用的时候,不需要多次上传和下载文件,降低...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

删除由exo player下载服务下载的文件-优选内容

集简云1月新增/更新:新增3大功能,21款集成应用,更新11款应用,新增150多个可用动作
可能会出现这些系统无法被云服务所访问的情况。在本期的功能迭代中,我们上线了网关配置功能。通过使用网关配置,可以在不改变现有公司网络安全机制的情况下,建立一个安全且可控的连接通道,使公司内部本地化/... 需要将csv/exce文件数据导入到其他系统中进行数据的录入和使用。手动将数据读取并导入时常出现数据同步不及时的问题,严重影响了业务推进,甚至造成数据泄露的情况发生。文件处理功能通过文件下载链接,自动将...
客户端 SDK
并开始下载对应的插件。需要在调用 start 接口之前调用。需要特别注意,调用 veGameEngine prepare 函数就是正式开始使用 SDK 了。因为 SDK 在运行过程中需要采集必要的用户信息,所以在调用 veGameEngine 的 prepar... 参考 IGamePlayerListener。 新增错误码 10029 和 警告码 10030。详细信息,参考 错误码 和 警告码。 删除申请游戏服务时可指定的可选参数 enableFileChannel(开启文件传输通道)和 “收发数据” 相关接口及回调。可...
集简云10月新增5大功能,32款集成应用,更新12款应用,200多个可用动作
删除等操作状态并没有本办法实时记录并查看,无法得知某时某刻是谁对应用进行了操作。 现在我们在企业审计日志中增加了,添加账号、更新账号、删除账号三个功能,便于用户随时监控账号情况。... 软牛及其他服务平台。 官网:https://www.6api.net/ **可用执行动作*** 企业工商信息查询* 获取拼多多商品详情信息* 获取拼多多商品列表信息* 获取头条、财经、体育等频道热门新闻...
集简云2月新增/更新:新增4大功能,19款应用,更新15款应用,新增120多个动作
专业的在线支付服务。 官网:https://pay.weixin.qq.com**可用执行动作*** 转账到零钱* 查询批次单* 申请转账批次单子回单* 查询转账账单电子回单**应用使用示例****电商系... * 上传训练文件呢* 开始训练任务 **应用使用示例****飞书即时消息+ChatGPT+飞书即时消息:**当飞书机器人接收到消息时,ChatGPT自动回答,并将回答数据传回至飞书机器人([点击此处使用该流程模板...

删除由exo player下载服务下载的文件-相关内容

Web SDK

Web SDK 4.60.2该版本于 2024 年 1 月 17 日发布。 重要变更基础美颜功能的浏览器兼容性变动,同时增加鉴权步骤,你需要在创建美颜插件实例时传入鉴权文件,参看基础美颜功能。 虚拟背景功能的浏览器兼容性变动,同时修... 支持通过 setRemoteVideoPlayer.videoPlayerOption 设置视频的旋转角度。 Web SDK 4.55该版本于 2023 年 8 月 11 日发布。 新增功能NetworkQuality 新增网络连接断开枚举值 DOWN = 6,你可以通过 onNetworkQuality...

接入下载功能

功能介绍Android 点播 SDK 提供下载功能,支持用户在播放器中将视频缓存至本地观看。Android 点播 SDK 支持下载 HTTP URL 视频源和 VideoID 视频源,并提供开始、暂停、恢复、删除等控制下载任务的方法。 前提条件在... 需要在初始化点播 SDK 之前开启 HLS 下载功能。 其他下载配置则需要在初始化点播 SDK 之后调用。 示例代码如下: java //(非必需)自定义下载文件存储路径,默认路径:"/data/user/0/包名/cache/video_cache/mdlDownl...

干货 | 实时数据湖在字节跳动的实践

中心化的元数据管理服务,将文件一级的元数据保存在适合随机读写的存储中,让数据湖的元数据不再分散在多个文件当中,满足了single source of true。其次,Hudi Metastore Server 针对元数据的查询,尤其是一些变更操作。比如Job position 提供了与 Hive Metastore完全兼容的接口,用户在使用一张数据湖上的表的时候,享受到这些增加的高效更新、删除、增量消费等能力的同时,也能享受到一张 Hive 表所具备的功能,例如通过Spark、Flink、...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

集简云本周新增/更新:新增3款应用,2个功能,更新1款应用,新增20多个动作

为了给您提供更优质的服务,带来全新的用户体验,充分发挥集简云的强大作用,集简云帮助中心全新改版,本次帮助中心更新了开放平台、产品教学、应用文档等多个页面,以全新的面貌和广大用户朋友们见面。 用户可以通过... =&rk3s=8031ce6d&x-expires=1715703611&x-signature=3rz7AH5p2bTExohH0M73acWjyFM%3D)钉钉群会话可以实现创建群会话、获取群会话信息、群会话管理操作、修改群会话流程。 官网:https://...

UploadPartCopy

避免被误删。 使用 UploadPartCopy 接口拷贝归档存储、冷归档存储和深度冷归档存储对象前,需要先恢复对象。 多版本桶多版本开启时,同一个对象可能存在多个版本。默认情况下,通过请求头x-tos-copy-source是获取源对象的当前版本进行拷贝。如果对象的当前版本为删除标记并且在请求头x-tos-copy-source中没有指定versionId,将会返回一个 404 Not Found 错误,因为对象已经不存在。如果在请求头x-tos-copy-source中指定了versionId,但...

最新动态(2024年前)

包含报告概览核心指标显著性去除60天最大限制和指标报告的实验版本排序优化 优化创建指标弹窗速度 2022年08月11日 V1.9.8版本 迭代说明: 数据管理优化:用户属性-预置属性支持更改状态,不包括:ab_version、app_pla... 调整上线公告的icon大小 修复指标事件空白hover + 创建漏斗提示虚拟事件被删除的问题 修复公共属性重复的问题 分流服务:更新组件版本 修复报告页同步转异步导致的埋点问题 2022年05月20日 V1.9.37版本 功能 【场...

Web 观播 SDK 发布历史

播放器会在 5 分钟内重试拉流。 2024-03-14 1.4.1 新增 closeVideoDblclick 参数,用于设置是否禁用在移动端双击播放器时,暂停或播放直播或点播内容。详见 playerConf。 支持发送自定义表情包。 支持观众删除自己... 支持配置纯净播放器模式。 手机号发码验证登录修改为服务端方案,接入流程简化。 2022 年 3 月日期 版本号 功能描述 2022-03-02 1.0.4 移动端支持直播字幕。 支持多线路事件。 修复部分场景下的体验问题。 ...

干货|ClickHouse进阶:性能提升20倍!深度解析Projection优化实践

云上全托管服务四大特点,为了更好的兼容社区的projection功能,扩展projection使用场景,ByteHouse对Projection进行了匹配场景和架构上进行了优化。 在ByteHouse商用客户性能测试projection的性能测试, **在1.2亿条的实际生产数据集中进行测试,查询并发能力提升10~20倍。** 下面从projeciton在 **优化器查询改写和基于ByteHouse框架改进** 两个方面谈一谈目前的优化工作。 ![picture.image](https...

客户端 SDK 问题

Web 推流 SDK 是否支持共享文件? Web 端如何实现后台继续播放?? Web 拉流 SDK 如何探测设备是否支持 RTM 播放,以及 RTM 是否支持 H.264 格式播放? Web 拉流 SDK 如何控制播放端延时? 如何创建和配置 App Group 创... bundleid 配置的应用信息被删除后,无法再添加相同配置的应用,请创建工单联系技术支持进行处理。 iOS 集成推拉流 SDK 时,会用那几个 Subspecs?您可以根据功能、版本、选择集成的 Subspecs。iOS 客户端 SDK 版本与 ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询