首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 列表视频

视频组件选择 使用的是b站开源的ijk播放器 组件布局 正常的列表视频视频加载完成之前肯定是要显示图片,视频加载好后在播放视频,ijk没有发现视频有缩略图的选项,所以布局使用一个帧布局,用张图片把...所以需要haveVideo来判断这个item是否有视频 // playState == VideoView.STATE_PLAYING 由于ijk没有视频准备好的回调,...这是其中一个复用问题,所有的RecyclerView中都会有这个问题,但是这个视频组件还有别的复用问题: 在多个视频存在的时候,可能前面的视频开始播放了,然后滚到下面来,开始播放新的视频,这时候发现播放的是前面的视频...,断点调试url是正确设置的,然后看videoView.start()方法,这里应该是不同实现有不同的写法,我这里的写法是会判断一下这个视频的状态,如果是播放中就不会再执行start(),那为什么会在播放呢...,因为复用了前面的视频,他处在了播放的状态,所以这里就会出现这个情况,播放了前面的视频 所以给每个VideoView都加上了Tag,值为index,来判断是否发生了复用,发生复用了就要release掉视频

93230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android TV 开发之 TV视频播放

    本地 和 网络 2.播放视频的的停止播放、继续播放、重新播放 3.播放视频时的时间和进度计算 4.播放时候按遥控器左右键时,前进 后退 先想清楚这些问题,才能使编码过程变得有条理 视频来源...,所以就不过多赘述了) 网络: 就是通过一个视频地址来播放视频,既然是通过网络来播放的,我们肯定要有联网的权限啊,在AndroidManifest.xml文件添加联网许可权限 如下所示 <ImageButton android:visibility="gone" android:focusable="true...()); //<em>视频</em>加载完成,准备好<em>播放</em><em>视频</em>的回调 <em>videoView</em>.start(); } });...()); //<em>视频</em>加载完成,准备好<em>播放</em><em>视频</em>的回调 <em>videoView</em>.start(); } });

    6.7K71

    Android开发之使用VideoView实现视频的横屏播放、去除边框

    做项目需要播放一个引导视频,本以为很简单,结果动手时发现总有瑕疵,幸好有度娘,现把收获总结如下: 一、实现视频播放: 注明我这里要播放的是Android项目中的资源文件,不是访问SD卡播放视频。...3.布局文件添加VideoView组件 4.创建个String类型对象保存uri 5.调用VideoView的setVideoURI方法设置URI,参数为上面的uri 6.调用start()方法播放。...、全屏播放,所以需要第二步: 二、视频全屏播放(去除底部出现的边框): 想要对VideoView进行参数配置,就需要用到setLayoutParams方法。...完成上一步后运行,发现虽然视频可以全屏,但显示完全失真,不是我们想要的效果,如果手机开启了自动转屏,我们会发现将手机转到横屏后视频播放效果才是我们想要的。如何让视频播放时就自动转到横屏播放呢?...三、设置视频横屏播放: 每个Activity是否允许转屏,当前显示方式是横屏还是竖屏,都可以通过在AndroidManifest.xml文件设置: 比如我当前播放视频时在Splash这个activity

    1.4K20

    Android原生视频播放VideoView的使用

    本文实例为大家分享了Android原生视频播放VideoView的具体代码,供大家参考,具体内容如下 布局文件activity_video.xml <RelativeLayout xmlns:android...savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video); //调用系统自带视频播放或者安装的第三方播放器...() { @Override public void onCompletion(MediaPlayer mp) { } }); //设置发生错误监听,如果设置videoview会向用户提示发生错误 videoView.setOnErrorListener.../mda-ig4tp6gnqwu5we8i.mp4"); videoView.setVideoURI(uri); //设置为全屏模式播放 setVideoViewLayoutParams(2); } /...; //停止回放视频文件 videoView.stopPlayback(); } /** * 页面从暂停恢复 */ @Override protected void onResume() { super.onResume

    2.6K51

    Android开发笔记(一百二十五)自定义视频播放

    视频播放方式 在Android播放视频的方式有两种: 1、使用MediaPlayer结合SurfaceView进行播放。...VideoView其实是从SurfaceView扩展而来,并在内部集成了MediaPlayer,从而实现视频画面与视频操作的统一管理;MediaController则是一个简单的播放控制条,它实现了基本的控制按钮...但是积跬步无以至千里,如果我们要定制一个好用好看的播放器,还是得先把笨拙的VideoView与MediaController搞清楚才行。...因此我们不会在布局文件声明MediaController控件,只会声明VideoView控件,然后让控制条附着与视频视图之上。...甚至布局文件中都不用声明视频视图,而在代码动态添加视频画面,由此便衍生出VideoView和MediaController的两种集成方式: 1、在布局文件声明VideoView

    2.7K40

    Android编程实现播放视频的方法示例

    本文实例讲述了Android编程实现播放视频的方法。分享给大家供大家参考,具体如下: 播放视频文件其实并不比播放音频文件复杂,主要是使用 VideoView 类来实现的。...这个 类视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器。...start() 开始或继续播放视频。 pause() 暂停播放视频。 resume() 视频重头开始播放。 seekTo() 从指定的位置开始播放视频。...最后在 onDestroy()方法,我们还需要调用一下 suspend()方法, VideoView 所占用的 资源释放掉。...现在程序运行到手机上,然后点击一下 Play 按钮,就可以看到视频已经开始播放了, 如下图所示: ? 点击 Pause 按钮可以暂停视频播放,点击 Replay 按钮可以重头播放视频

    89351

    Android ijkplayer的使用方法解析

    ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS。...功能: 使用Vitamio的VideoView进行视频播放 视频左侧界面(左1/2以内)上下滑动调节亮度 视频右侧界面(右1/2以外)上下滑动调节声音 双击切换视频窗口布局 非直播状态,可以左右滑动调节当前播放进度...final String SCALETYPE_FILLPARENT="fillParent"; /** * 视频的内容完整居中显示,如果视频大于view,则按比例缩视频直到完全显示在view */...:视频的内容完整居中显示,如果视频大于view,则按比例缩视频直到完全显示在view * fitXY:剪裁,非等比例拉伸画面填满整个View * 16:9:剪裁,非等比例拉伸画面到16:...9,并完全显示在View * 4:3:剪裁,非等比例拉伸画面到4:3,并完全显示在View * </pre * @param scaleType */ public void setScaleType

    9.3K20

    基于ExoPlayer的ExoPlayerVideoView

    写在前面 在Android设备播放视频和音乐是非常普遍的。Android框架提供了一个对于媒体的操作的最省代码的解决方案:MediaPlayer。...本文并不是讲述ExoPlayer如何使用的,而是一款基于ExoPlayer的VideoView。ExoPlayerVideoView旨在提供一个快捷的视频播放布局的解决方案。 概览 ? 亮度调节 ?...音量 开始 ExoPlayerView 是一个基于ExoPlayer的视频播放器,并且做了很多封装。...用法 导入 在 build.gradle 中加入 compile 'com.jarvanmo:exoplayerview:1.0.0' ExoPlayerView 可以直接播放如mp4,m3u8 等简单视频...当然了, 你也可以自己创建ExoPlayer; videoView.setPlayer(player); 也可以从指定位置播放: videoView.play(mediaSource,where

    3.9K30

    Android主流播放器比较

    本篇文章主要介绍 Android 原生 VideoView,Google 开源视频播放框架 ExoPlayer,Vitamio 视频播放框架以及 Bilibili 开源视频播放框架 ijkplayer...VideoView 前段时间使用MediaPlayer+SurfaceView封装了一个视频播放器,由于VideoView就是采用这种方案封装,所以不再累赘。...VideoView 的使用非常简单,播放视频的步骤: 在界面布局文件定义 VideoView 组件,或在程序创建 VideoView 组件 调用 VideoView 的如下两个方法来加载指定的视频:...()、psuse() 方法来控制视频播放 不足: 原生VideoView只能播放mp4和3gp两种格式; seekTo定位不准,只能定位到关键帧; VideoView不保存视频播放状态,需自行处理;...因为 ExoPlayer 是一个包含在你的应用的库,对于你使用哪个版本有完全的控制权,并且你可以简单的跟随应用的升级升级; 更少的适配性问题。

    2.9K20

    腾讯云音视频播放器又上新啦!短视频秒开组件、加密画中画等功能让音视频播放更专业!

    目录前言腾讯云音视频播放器快速使用指南关于License短视频秒开组件接入教程高级画中画组件接入教程最后参考文献前言现在是数字化快速发展的时代,音视频已经成为一种广受欢迎的沟通和传播方式,以至于有一种说法是音视频终结内容为王的时代...如下所示:短视频秒开组件接入教程由于web端涉及短视频秒开的功能,这里以移动端的使用来讲,又由于画中画功能目前只支持iOS端,所以高级画中画也以iOS端来分享。...播放 TUIShortVideoView 的实例添加到想要呈现的 View 上,具体如下代码:TUIShortVideoView *videoView = [[TUIShortVideoView alloc...播放模块另外,播放模块主要是通过 TUIShortVideoView 来呈现,具体的接口如下所示:参数名含义isAutoPlay首次加载是否自动播放第一个视频,默认YESvideos只读属性,获取当前存在与视频列表的数据...高级画中画组件接入教程上文也提到了由于web端涉及短视频秒开的功能,这里以移动端的使用来讲,而且腾讯云音视频播放器的画中画功能目前只支持iOS端,所以这里还是以iOS端的具体使用来分享。

    66052

    android多媒体类VideoView使用方法详解

    一、概述 VideoView视频的显示和控制集于一身,我们可以借助它完成一个简易的视频播放器。VideoView和MediaPlayer也比较相似。...步骤: 1.指定视频文件的路径, 2.接下来调用start()方法就可以开始播放视频,pause()方法就会暂停播放,resume()方法就会重新播放 注:获取视频文件也需要运行时权限,所有相关逻辑也需要写...最后不要忘记在AndroidManifest.xml文件声明用到的权限 下面是一个比较简单的播放、暂停、重新播放的小demo 一、xml文件的代码 <?...= null) { videoView.suspend();//VideoView所占用的资源释放掉 } } } 三、声明权限 <uses-permission...android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ VideoView并不是一个万能的视频播放工具类,如果使用它,编写一个功能十分强大的视频播放器是不太现实的

    69251

    Android-VideoView的一些问题

    VideoView遗留的问题 VideoView是直接继承SurfaceView VideoView的openVideo可能会ANR VideoView的release,stopPlayBack都会导致...而我们在ListView的每个卡片中,都有可能出现视频,而且需要自动播放,由于没有时间做视频先下载,再播放,所以选择的是Android自带的流播放。会一段一段的视频先读到缓冲区,再播放。...而且当视频卡片在滑出屏幕之后,需要把视频暂停,在不可见的时候不进行播放。节省系统资源,并且节省用户流量。...如果同时出现多个视频的时候,会频繁调用到上述导致ANR的方法,会很容易出现ANR 解决方案 问题1.在视频划出ListView的时候,停止播放视频。...显示视频不能播放

    2.7K30

    安卓直播详细教程(一)-----bilibili开源播放

    前言 临近双十一,最近忙成狗,好久没写博客,今天抽空上一个,刚好最近公司自己做了直播,所以今天分享一下直播。...在现在视频直播越来越火爆的今天,对于直播的需求也越来越大,对于七牛直播云之类的第三方平台也火爆起来,不过当公司需要自己做直播时候我们自己就要考虑一款能够支持流播放播放器。...Vitamio是一款众所周知的开源播放器,不过本人亲测,播放效果有点差,而且企业版貌似需要收费,个人使用是免费使用。于是本人使用了哔哩哔哩的开源播放器,今天就给大家分享一下集成播放器的过程。...3.导包 clean project 错误的包删除,重新导入自己路径的包 4.加入相关标签 Invalidprogressiveplayback"><stringname="<em>VideoView</em>_error_text_unknown...//在Activity<em>中</em>设置如下即可<em>播放</em>直播 只需要更更换直播path就可以啦 IjkMediaPlayer.loadLibrariesOnce(null); IjkMediaPlayer.native_profileBegin

    3.1K30

    Android流媒体播放VideoView

    Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。...这两种协议最 大的不同是,HTTP协议,不支持实时流媒体的播放RTSP协议就支持。...Android自带的播放器,以及VideoView等都支持上述两种协 议,因此,可以直接播放网络上的视频,唯一不同的就是URI。...Android当前支持两种协议来传输视频流一种是Http协议,另一种是RTSP协议 Http 协议最常用于视频下载等,但是目前还不支持边传输边播放的实时流媒体 同时,在使用Http协议 传输视频时,需要根据不同的网络方式来选择合适的编码方式...根据实际情况来使用前面介绍的两种方式,都可以播放网络上的视频,唯一 同的就是URI 本例中使用VideoView播放网络上的视频 ?

    2.4K90
    领券