前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >笔记84 | 修复音乐视频拔插U盘不记忆播放时间问题

笔记84 | 修复音乐视频拔插U盘不记忆播放时间问题

作者头像
项勇
发布2018-12-27 10:20:55
1.3K0
发布2018-12-27 10:20:55
举报
文章被收录于专栏:项勇项勇

Author:项勇 已更新至T8O_master

现象:

音乐跟视频在播放U盘里的文件时,拔插U盘并不会记忆播放时间,此处代码以音乐为例,视频处理类似,有发现有问题请及时指正。

分析:

查看代码发现音乐跟视频都有相关的储存方法

代码语言:javascript
复制
private void save() {
        mTW.mCurrentPos = mMediaPlayer.getCurrentPosition();
        try {
            BufferedWriter bw = null;
            try {
                bw = new BufferedWriter(new FileWriter("/data/tw/music"));
                bw.write(mTW.mCurrentAPath);
                bw.write('\n');
                bw.write(Integer.toString(mTW.mCurrentIndex));
                bw.write('\n');
                bw.write(Integer.toString(mTW.mCurrentPos)); //这个就储存播放时间
                bw.write('\n');
                bw.write(Integer.toString(mTW.mShuffle));
                bw.write('\n');
                bw.write(Integer.toString(mTW.mRepeat));
                bw.write('\n');
                bw.flush();
            } catch (Exception e) {
                new File("/data/tw/music").delete();
            } finally {
                if(bw != null) {
                    bw.close();
                    bw = null;
                }
            }
            FileUtils.setPermissions("/data/tw/music", 0666, -1, -1);
        } catch (Exception e) {
        }
    }

经过打印发现当程序拔U盘时,程序会收到TWVideo.RETURN_MOUNT值,并最终走一下stop()方法,而此时mMediaPlayer.getCurrentPosition()的值为0,这直接导致的插U盘后从0开始播放;

解决:

1.stop()方法不处理mCurrentPos值

2.播放状态0xff02实时储存mCurrentPos值

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 项勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象:
  • 分析:
  • 解决:
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是一种云端音视频处理服务。基于腾讯多年音视频领域的深耕,为您提供极致的编码能力,大幅节约存储及带宽成本、实现全平台播放,同时提供视频截图、音视频增强、内容理解、内容审核等能力,满足您在各种场景下对视频的处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档