使用SurfaceView播放视频,调节进度,滑动屏幕调节音量并显示音量。

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

效果展示:
这里写图片描述

  1. 首先在清单文件中注册:
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. java代码:
public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback
{
   
   

    private SurfaceView surfaceView;

    private SurfaceHolder holder;

    private TextView tvSound, tvCurrentT, tvDuration;

    private ProgressBar progressBar;

    private MediaPlayer mediaPlayer;

    private Uri uri;

    private Handler handler;

    private float downX, downY;

    private int screenWidth;

    private int FACTOR = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        //TODO 将屏幕设置为横屏()
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        //TODO 将屏幕设置为竖屏()
        //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        screenWidth = getResources().getDisplayMetrics().widthPixels;
        surfaceView = (SurfaceView) findViewById(R.id.surface_view);
        surfaceView.setOnTouchListener(new View.OnTouchListener()
        {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                switch (event.getAction())
                {
                    case MotionEvent.ACTION_DOWN:
                        downX = event.getX();
                        downY = event.getY();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        // TODO 音量
                        float distanceX = event.getX() - downX;
                        float distanceY = event.getY() - downY;
                        if (downX > screenWidth - 
使用SurfaceView播放视频设置无声播放 之前使用videoview播放,却一直有声音,在网上看到别人说surfaceview可以调节,但是也没找到一个可以直接设置的,后来看了下关于surfaceview之后知道,他可以直接设置系统音量,不说了 上代码 在页面刚刚创建的时候 就可以获取系统音量的设置 AudioManager audio = (AudioManager) getSystemService(Servic 阅读详情

相关推荐

移动端可拖动的Html5播放器

封装的移动端Html5播放器,可以左右滑动快进,快退,上下滑动音量增减,全屏退出全屏,暂停播放等功能

meidaplayer+surfaceview 实现的 一个常用播放器,包括大小屏切换,底部进度条,播放控制,屏幕旋转

meidaplayer+surfaceview 实现的 一个常用播放器,包括大小屏切换,底部进度条,播放控制,屏幕旋转处理

SurfaceView+MediaPlayer视频播放器支持选集,试看(拖进度条),声音,亮度,弹幕,横竖屏切换。

SurfaceView+MediaPlayer打造万能播放器,支持选集功能,拖动进度条试看以及重新试看,声音亮度调节及横竖屏重力切换,弹幕功能,方便扩展如锁屏功能等。

游程理论提取灾害事件特征V2---基于MATLAB语言的编程实现

游程理论,灾害事件,MATLAB

EWBA_GIS_RS_ER的博客 3792

深度学习模型设计的方法和技巧

设计神经网络模型是一个迭代的过程,需要不断试验和调整各个组成部分,以达到最佳性能。同时,遵循良好的工程实践,如模块化设计、版本控制、文档记录等,也是成功的关键。

xw555666的博客 4026

量化金融笔记1-股票量化基础

股票量化基础 文章目录什么是股票股票的定义及其诞生所解决的问题股票的主体和流通股票的常规分类股票价格收益率什么是股票价格的收益率股票价格收益率计算在python中的实现两种收益率算法的特点及应用场合股票交易规则场内交易与场外交易A股、B股、H股国内多层次的资本市场股票交易指令和撮合机制股票交易时间股票交易成本股票复权股票数据介绍与提取行业分类和指数行情数据因子数据标的数据基本面数据 什么是股票 股票的定义及其诞生所解决的问题 股票的定义:股票是一种有价证券,是股份有限公司公开发行的用以证明投资者的股东身份

折桂狂人的博客 2395

智能排班考勤系统原型

可实现从业务预测,到工时预估,再到人员分配全流程自动智能排班。可应用于客服行业或工厂的智能排班系统。

gywm15111336483的专栏 994

Python爬虫实战:5分钟搞定政府网站公开数据抓取(附完整代码)

本文详细介绍了如何使用Python爬虫快速抓取政府网站公开数据,包括环境配置、网站结构分析、请求头构建、数据处理与存储等关键步骤。通过实战案例和完整代码,帮助开发者高效获取结构化数据,适用于数据分析、市场研究等场景。

weixin_29057065的博客 939

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

LangGraph-StateGraph 和 Graph API 源码分析

摘要: StateGraph是LangGraph的核心API,用于构建有状态工作流图。本文分析了其实现原理,包括: 核心类关系:StateGraph(构建器)和CompiledStateGraph(继承自Pregel的可执行图) 关键流程:状态模式到通道的映射、节点到PregelNode的转换 实现特点: 支持TypedDict和Pydantic两种状态模式 自动选择通道类型(LastValue或BinaryOperatorAggregate) 通过映射函数处理节点输入输出 边实现基于通道写入机制 编译过程

838

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: SurfaceView与Canvas的结合实现气泡动态壁纸
下一篇: 当ListView遇上RecyclerView, ListView将甘拜下风
Allen-华
博客等级 码龄11年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值