视频播放以及横竖屏切换保存播放状态

视频播放器测试用例分析(移动端) UI测试: 返回键位置是否正确; 视频标题文字、颜色、大小、位置等要素是否正确; 视频播放器页面位置是否正确、宽高比例是否合理、显示内容(默认状态图)是否正确; 课程简介、课程目录栏目位置、比例是否正确; 课程简介中:讲师头像、姓名、课程时间、观看人数、简介等要素是否正确; 开始学习按钮颜色、位置、大小(圆角)等要素是否正确; 收藏按钮位置、大小、颜色等要素是否正确 课程目录中章节名称、文字、下拉按钮位置、大小等要素是否正确; 页面其他要素是否与UI设计稿一致; 功能测试: 返回按钮是否可以点击,是否 阅读详情
//布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
<VideoView 
    android:id="@+id/vv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</RelativeLayout>
//代码块
package com.baidu.ceshi;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;

import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class MainActivity extends Activity {

    private VideoView vv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        vv = (VideoView) findViewById(R.id.vv);
        String path=Environment.getExternalStorageDirectory().getPath();
        System.out.println(path);
        //设置视频路径
        vv.setVideoPath(path+"/xiao.3gp");
        //设置控制器
        MediaController controller=new MediaController(MainActivity.this);
        vv.setMediaController(controller);
        controller.setMediaPlayer(vv);
        vv.start();
         //将保存的数据给VideoView
        /*if(savedInstanceState!=null){
            int time = savedInstanceState.getInt("time");
            vv.seekTo(time);
        }*/
    }

    @Override
    protected void onRestoreInstanceState(Bundle outState) {
        //从outState中取出数据
        int sec = (int) outState.getLong("time");
        //将保存的数据给VideoView
        vv.seekTo(sec);
        super.onRestoreInstanceState(outState);
        }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
            int sec = vv.getCurrentPosition();
            //保存当前视频播放的进度,保存到outState
        outState.putLong("time", sec);
        super.onSaveInstanceState(outState);
        }

    @Override
    protected void onDestroy(){
        Toast.makeText(MainActivity.this, "onDestroy已执行!", 0).show();
        super.onDestroy();
    }

}
//配置权限
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
微信发红包测试用例 功能测试 1.点赞后是否显示结果; 2.点赞后是否可以取消; 3.点赞取消后是否可以重复点赞; 4.共同好友点赞后,是否有消息提醒; 5.非共同好友点赞后,是否有消息提醒; 6.点击点赞人昵称,是否可以跳转到他/她的主页; 7.自己能否给自己点赞; 8.屏蔽了该用户,共同好友点赞是否提示; 9.点赞人有备注时,是否展示备注昵称; 10.点赞后删除好友,是否继续展示其点赞; 界面测试 1.界面是否简介美观; 2.点赞后动态特效是否正常显示; 3.朋友圈界面图片是否正常显示; 4.朋友圈界面文字是否正常显示; 阅读详情

相关推荐

构建支持横竖屏切换与手势操作的视频播放器

手势识别库用于处理更复杂的触摸事件序列,它们可以识别出特定的手势操作,如滑动、缩放、长按等。这些库极大地简化了手势识别的开发工作,开发者无需从头开始编写代码来处理所有的触摸事件,而只需关注特定手势的响应逻辑。常用的Android手势识别库包括::Android原生的手势识别库,包含在Support Library中,可以识别各种基础手势。:常用于图表的手势处理。:一个更为全面的手势监听库,支持手势的自定义和更多的事件处理。

weixin_42300144的博客 1141

Android横竖屏切换继续播放视频

只需要重新onSaveInstanceState方法,在其里面记住我们要记录的参数 package com.bawei.day07_videoview; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; i

从零开始 2026

网络视频的播放,横竖屏切换,进度、时间显示

实现的功能: 1、边缓冲边播放(没有做视频的本地缓存),缓冲时会有longding的状态提示 2、可以横竖屏切换,自动全屏 3、时间同步显示 4、进度条同步更新

Android横竖屏切换数据保存的方法以及onSaveInstanceState() 的实现

介绍:横屏切换竖屏实际上是先把当前的横屏的Activity杀掉 然后重新创建一个竖屏的Activity,我们可以使用onSaveInstanceState()方法保存数据,它是在横屏Activity将杀死前调用,可以将须要保存的数据放入Bundle封装在系统中,切换竖屏后这个Activity又重新被创建 这样可以在onCreate(Bundle)或者onRestoreInstanceState(B

MarkBlue的博客 7514

BLE天线设计避坑:NRF52832官方50欧姆阻抗匹配的3个常见误区

本文深入解析NRF52832蓝牙SoC天线设计中的常见误区,重点探讨50欧姆阻抗匹配的3个关键问题:PCB板材介电常数差异、匹配元件寄生参数及VSWR测试。通过实测数据和优化方案,帮助工程师规避设计陷阱,提升BLE通信性能。

beer8的博客 214

TLV320AIC3204音频CODEC硬件设计与调试实战

本文深入解析了TLV320AIC3204音频CODEC的硬件设计与调试实战。文章从芯片功能定位入手,详细阐述了电源时钟设计、模拟输入电路等关键硬件设计要点,并提供了软件驱动配置与分层调试方法,帮助工程师有效规避常见陷阱,解决底噪、失真等典型音频调试问题。

zero1的博客 1123

Android视频播放器横竖屏自动切换

1、功能类 package com.tongyi.edu.util; import android.app.Activity; import android.content.Context; import android.content.pm.ActivityInfo; import android.hardware.Sensor; import android.hardware.Sensor

小旭的专栏 8062

制造业信息化的现实困局与未来展望:从基础到数字化的挑战与机遇

随着全球科技的发展和市场竞争的加剧,制造业的转型升级成为企业必须面临的挑战。在信息化和数字化的浪潮下,许多企业试图通过技术创新来提升自身竞争力。然而,现实情况是,绝大部分制造业企业的基本信息化都尚未完成,更遑论复杂的数字化。那么,制造业在信息化进程中面对哪些阻碍?未来又该如何实现从基础信息化到数字化的转型?

Yz2024的博客 2983

Android 解决横竖屏切换时,生命周期重新加载的问题

今天在做android视频开发的时候,发现当横竖屏切换时,视频会从播放状态回到初始的未播放状态,通过打印生命周 期发现,当屏幕的状态发生改变时,Activity的生命周期也重新被调用了。 后来通过百度,得到了解决方法: 在manifest中设置该Activity的configChanges为android:configChanges="screenSize|keyboardHidde

superyu1992的专栏 8416

uniapp [全端兼容] - 实现人脸识别对比+人脸相似度,从相册选择或拍照上传两张图片进行人脸对比得到人脸相似度及判断是否是同一个人,人脸活体检测及对比(免费纯前端方案+调用第三方API接口方案)

uniApp人脸对比 人脸对比识别 人脸对比相似度,uniapp实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,uniapp实现人脸识别对比,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度评分。uniapp H5网页如何实现人脸相似度比对,uniapp纯前端怎么对比两张图片的相似度,计算两幅图像的相似度,图像相似度对比方法,UNI-APP人脸相似度对比,快速识别两张照片的相似程度(用百分比)图片相似度对比在线测试,图片相似度对比,uniapp微信小程序人脸相似度对比分析,uniapp

🏆 前端领域优质创作者 5020

SKUA-GOCAD入门教程-第七节 点的创建与编辑3

本文介绍了四种从井数据创建点集的方法

江洋大葱的博客 963

VideoView 视频播放 示例

介绍实现的功能:可播放本地视频或网络视频,可控制播放或暂停最小化时保存播放位置及播放状态,resume时恢复所有状态;横竖屏切换时保持切换前的位置及状态在屏幕上竖直滑动可调节屏幕亮度和音量可改变视频显示样式(有bug)可获取视频缩略图及视频大小Activityimport android.app.Activity;import android.content.pm.ActivityInfo;imp...

weixin_34082177的博客 336

【图像超分】论文精读:Residual Dense Network for Image Super-Resolution(RDN)

一个非常深的卷积神经网络 (CNN) 最近在图像分类 (SR) 方面取得了巨大成功,并提供了分层特征。然而,大多数基于深度 CNN 的 SR 模型没有充分利用原始低分辨率 (LR) 图像中的层次特征,从而实现相对较低的性能。在本文中,我们提出了一种新的残差密集网络(RDN)来解决图像SR中的这个问题。我们充分利用所有卷积层的分层特征。具体来说,我们提出了残差密集块(RDB)通过密集连接的卷积层提取丰富的局部特征。RDB 进一步允许将前一个 RDB 的状态与当前 RDB 的所有层直接连接,从而产生连续的内存

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 7257

Android实现视频播放器小窗口和全屏状态切换(附带源码)

Android实现视频播放器小窗口和全屏状态切换(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1410

如何在 R 中使用 Gamma 分布(附示例)

在统计学中,伽马分布通常用于模拟与等待时间相关的概率。我们可以使用以下函数来处理 R 中的 gamma 分布:dgamma(x, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的密度函数值。 pgamma(q, shape, rate) – 找到具有特定形状和速率参数的伽马分布的累积密度函数值。 qgamma(p, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的逆累积密度函数值。 rgamma(n, shape, rate) – 生成 n 个随机

Mrrunsen的博客 4415

2026华为OD机试(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

ListView 列表播放视频,支持横竖屏无缝切换

最近在做项目的时候有需求要在 listView 中播放视频,并且支持横竖屏无缝切换,在网上搜索了一下,关于这种 demo真的很少, 有的也只是实现简单的功能,无法满足项目中的需求,想着修改一下凑合用,但是各种bug, 毕竟不是自己写的,后来干脆就自己写一个.由于视频录制出现问题,效果图就不贴了,说一下这个 demo的实现的效果吧, listView中视频播放,可以控制播放与暂停,支持横竖屏无缝切换,

xiaoxin_Android的博客 6395

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

onSaveInstanceState() 与 fragment.commit()

首先谈一下,onSaveInstanceState() Activity里的onSaveInstanceState()方法,虽然系统会自动调用它来保存Activity的一些数据,但当除它默认要保存的数据外,我们还要保存一些其他数据的时候, 我们就需要覆盖onSaveInstanceState()方法来保存Activity的附件信息。例如在播放视频过程中,横竖屏切换要保持当前播放时间进度,在默认情

Listron的专栏 1564

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

视频播放的测试点移动端

视频播放的用例测试点移动端 UI测试: 返回键位置是否正确; 视频标题文字、颜色、大小、位置等要素是否正确; 视频播放器页面位置是否正确、宽高比例是否合理、显示内容(默认状态图)是否正确; 课程简介、课程目录栏目位置、比例是否正确; 课程简介中:讲师头像、姓名、课程时间、观看人数、简介等要素是否正确; 开始学习按钮颜色、位置、大小(圆角)等要素是否正确; 收藏按钮位置、大小、颜色等要素是否正确 课程目录中章节名称、文字、下拉按钮位置、大小等要素是否正确; 页面其他要素是否与UI设计稿一致; 功能测试: 返回

凯凯要加班 2435

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android杂谈--layout的横竖屏处理

横竖屏处理是开发应用是比较基础的一个要点,几乎都会用到。网上有一大堆的横竖屏切换的文章,但是翻了n页以后发现竟然清一色的是转载,所以不想浪费时间到这个上面,还是自己根据自己的需求与体会总结一下吧,也方便以后查阅 一、layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格

chen52671的专栏 949

视频播放测试用例设计移动端PC端

移动端 UI测试: 返回键位置是否正确; 视频标题文字、颜色、大小、位置等要素是否正确; 视频播放器页面位置是否正确、宽高比例是否合理、显示内容(默认状态图)是否正确; 课程简介、课程目录栏目位置、比例是否正确; 课程简介中:讲师头像、姓名、课程时间、观看人数、简介等要素是否正确; 开始学习按钮颜色、位置、大小(圆角)等要素是否正确; 收藏按钮位置、大小、颜色等要素是否正确 课程目录中章节名称、文字、下拉按钮位置、大小等要素是否正确; 页面其他要素是否与UI设计稿一致; 功能测试: 返回按钮是否可以点击,是

weixin_51103262的博客 1656

onSaveInstanceState()保存Activity状态

onSaveInstanceState()方法,在横竖屏切换或者内存不足时在后台被销毁需要记录一些先前的状态或者数据. onSaveInstanceState()方法接受一个 Bundle 类型的参数, 开发者可以将状态数据存储到这个Bundle 对象中, 这样即使 activity 被系统摧毁, 当用户重新启动这个 activity 而调用它的 onCreate()方法时, 上述的 Bun

huribin的博客 852

二.AV Foundation 视频播放 - 构建可复用的播放器组件

本文详细介绍了如何使用AV Foundation构建可复用的视频播放器组件,涵盖核心架构设计、实战进阶功能及性能优化策略。通过封装AVPlayer、状态管理和界面渲染,开发者可以大幅减少代码量并提升维护效率。文章还提供了缓冲策略优化、记忆播放、全屏切换等实用技巧,帮助开发者避开常见陷阱,打造流畅的视频播放体验。

weixin_30312563的博客 417

终极指南:使用Player库5分钟构建iOS视频播放应用

想在iOS应用中快速集成视频播放功能吗?**Player库**正是你需要的解决方案!作为基于Swift开发的轻量级视频播放框架,Player库通过封装AVFoundation的复杂逻辑,为开发者提供了简单直观的API接口。无论你是iOS开发新手还是经验丰富的开发者,都能在5分钟内完成专业级视频播放功能的集成。 ## 🎯 为什么选择Player库? 在iOS开发中,视频播放功能看似简单,实则涉

gitblog_01038的博客 348

JavaScript日期处理的未来已来:You-Dont-Need-Momentjs中的Temporal标准提案抢先看

还在用 moment.js 处理 JavaScript 日期吗?这篇文章以开源项目 **You-Dont-Need-Momentjs** 为向导,带你抢先看懂下一代原生日期标准 **Temporal** 提案:为什么该告别 moment.js、Temporal 写法长什么样,以及如何用 3 步让项目平滑迁移,不再被第三方日期库拖累。 ## 为什么放弃 moment.js?JavaScript 日

gitblog_00775的博客 972
上一篇: AsyncTask+HttpClient网络请求图片实现自动轮播+小圆点
下一篇: 通过下标全选反选,删除
多吃糖
博客等级 码龄11年 6粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值