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

Android弹幕功能实现,模仿斗鱼直播的弹幕效果

这是一个Dota2游戏直播的界面,我们可以看到,在游戏界面的上方有很多的弹幕,看直播的观众们就是在这里进行讨论的。 那么这样的一个界面该如何实现呢?...其实并不复杂,我们只需要首先在布局中放置一个显示游戏界面的View,然后在游戏界面的上方再覆盖一个显示弹幕的View就可以了。...首先使用Android Studio新建一个DanmuTest项目,然后修改activity_main.xml中的代码,如下所示: <RelativeLayout xmlns:android="...在onCreate()方法中获取到了VideoView的实例,给它设置了一个视频文件的地址,然后调用start()方法开始播放。...最后,我们在AndroidManifest.xml中将Activity设置为横屏显示并加入权限声明,如下所示: android="http://schemas.android.com

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

    【Android从零单排系列十八】《Android视图控件——VideoView》

    一 VideoView基本介绍 videoView是Android平台上用于播放视频的控件,它提供了一些常见属性和方法来控制视频的播放。...二 VideoView使用方法 在布局文件中添加VideoView: VideoView android:id="@+id/videoview" android:layout_width...videoView.start(); } } 注意:在使用VideoView时要确保已获取相关权限(如网络访问权限),并在AndroidManifest.xml文件中进行相应的声明。...四 VideoView简单Demo 准备视频文件: 在项目的res目录下创建raw文件夹,并将要播放的视频文件(例如video.mp4)放入该文件夹中。...在布局文件中添加VideoView: VideoView android:id="@+id/videoView" android:layout_width="match_parent"

    36720

    Android TV 开发之 TV视频播放器

    正题 开发准备: 电脑(笔记本、台式都行)、JDK环境变量配置(PS:因为是Java写的,想了解Kotlin的可以和我沟通)、Android Studio3.5(开发软件)。...第二步:选择TV 然后创建一个空的项目也就是点左边的 Add No Activity(PS:为什么不用谷歌的框架呢,因为这个第一次我觉得自己从头来一遍会比较好,这样更有帮助,后面你再用这个框架,而且这个空项目进去之后在...第三步:确定你的开发信息无误之后点击Finish,创建这个项目(Android Studio3.5中开发TV 最低的API版本为5.0,低于这个版本则不能正常运行) ?...不,你不能,首先你得找一台虚拟机或者一台真机,我这里用的是真机,然后用usb线连接上你的电脑,然后打开这个机顶盒的开发者模式,再启用usb调试,这个时候你的Android Studio中就会有读取到你的设备名称...本地: 我们可以在valuse文件夹下面创建一个raw文件夹,在里面放一个mp4短视频文件,(PS:至于在真机存储里面放一个视频,你只要播放路径指定这个视频所在地址,然后再加上文件的读写权限,因为我不是这么实现的

    6.8K71

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

    ,如开始/暂停按钮、上一个/下一个按钮、快进/快退按钮,以及进度条等控件;把VideoView与MediaController关联起来,便是一个类似于Window Media Player的精简版播放器...但是不积跬步无以至千里,如果我们要定制一个好用好看的播放器,还是得先把笨拙的VideoView与MediaController搞清楚才行。...需要重写onInfo方法,该方法在播放需要传递某种消息时调用,如开始/结束缓冲。 requestFocus : 请求获得焦点。该方法在start方法前调用。 start : 开始播放。...,但是考虑到用户的使用习惯,它们往往形成一个整体来展示,即MediaController固定位于VideoView的底部。...2、在代码中动态添加VideoView。 VideoView对象的使用步骤同上。

    2.8K40

    多媒体开发

    所谓的视频播放指的是在Android设备上播放如3gp格式、rmvb格式、mp4格式的等各种视频文件。...在Android Market上大家也能找到大量的视频播放软件,比如UC Player、暴风、QQ影音等。下面我们就使用Android提供的VideoView组件来自己做一个简单的视频播放器。...使用VideoView播放视频的步骤如下: (1) 在布局文件中定义一个VideoView组件,当然也可以在Java代码中直接使用new生成。...android:layout_height=​"fill_parent"​ /> 在布局文件中定义了一个VideoView组件,接下来就可以在程序中使用这个组件播放视频了...(); } } } 在运行程序之前,我们需要先在mnt/sdcard/目录下放置一个名为labixiaoxin009.mp4视频文件,如下图4.1.4所示,最后,整个程序的运行效果如下图4.1.5

    7810

    Android 列表视频

    视频组件选择 使用的是b站开源的ijk播放器 组件布局 正常的列表视频在视频加载完成之前肯定是要显示图片,视频加载好后在播放视频,ijk中没有发现视频有缩略图的选项,所以布局使用一个帧布局,用张图片把...VideoView盖住,当视频加载好后再把图片去掉(为什么不是VideoView盖住图片,如果这样的话再把VideoView展示出来的时候会有一个黑屏,比较影响体验) android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height...,这玩意会复用的,前面的holder把图片隐藏了,后面的holder复用的时候重新init数据,走到这发现videoView为空,或者url为空的时候下面就不走了,这时候视频是没法加载的,展示出来的就是一个黑屏...这是其中一个复用问题,所有的RecyclerView中都会有这个问题,但是这个视频组件还有别的复用问题: 在多个视频存在的时候,可能前面的视频开始播放了,然后滚到下面来,开始播放新的视频,这时候发现播放的是前面的视频

    93730

    Android主流播放器比较

    VideoView 前段时间使用MediaPlayer+SurfaceView封装了一个视频播放器,由于VideoView就是采用这种方案封装,所以不再累赘。...VideoView 的使用非常简单,播放视频的步骤: 在界面布局文件中定义 VideoView 组件,或在程序中创建 VideoView 组件 调用 VideoView 的如下两个方法来加载指定的视频:...因为 ExoPlayer 是一个包含在你的应用中的库,对于你使用哪个版本有完全的控制权,并且你可以简单的跟随应用的升级而升级; 更少的适配性问题。...2.在 Activity 的 onCreate 方法中添加如下代码,初始化 Vitamio 的解码器 @Override public void onCreate(Bundle icicle) {...ijkplayer 在 config 目录下提供了三种 module.sh 。也可自己修改 module.sh 。 缺点: ijkplayer 的缺点是库太大。

    3K20

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

    做项目需要播放一个引导视频,本以为很简单,结果动手时发现总有瑕疵,幸好有度娘,现把收获总结如下: 一、实现视频播放: 注明我这里要播放的是Android项目中的资源文件,而不是访问SD卡播放视频。...3.布局文件中添加VideoView组件 4.创建个String类型对象保存uri 5.调用VideoView的setVideoURI方法设置URI,参数为上面的uri 6.调用start()方法播放。...我们需要在布局文件中的VideoView组件外包裹一个布局,我这里用的是RelativeLayout,,其他的应该也可以: <RelativeLayout android:layout_width...完成上一步后运行,发现虽然视频可以全屏,但显示完全失真,不是我们想要的效果,如果手机开启了自动转屏,我们会发现将手机转到横屏后视频的播放效果才是我们想要的。如何让视频在播放时就自动转到横屏播放呢?... 有些时候我们希望某些页面只有竖屏或者横屏,担心转屏后布局会变难看,就可以在响应的activity中设置这个属性,用户怎么转屏都不会再变了!

    1.4K20

    react native 调用原生UI组件

    在React Native开发过程中,有时我们想要使用原生的一个UI组件或者是js比较难以实现的功能时,我们可以在react Naitve应用程序中封装和植入已有的原生组件。...本文我们实现一个VideoView的本地调用。...Java端实现 新建VideoViewManager类,并继承SimpleViewManager,SimpleViewManager类需要传入一个泛型,该泛型继承Android的View,也就是说该泛型是要使用...android 平台的哪个View就传入该View,比如,我要使用android的VideoView,这个泛型就传入VideoView。...); } receiveEvent接收三个参数,参数说明如注释所示,这个事件名topChange在JavaScript端映射到onChange回调属性上(这个映射关系在UIManagerModuleConstants.java

    7.3K100

    安卓基础干货(十):安卓多媒体编程的学习

    RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中...解决办法: 缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview...; 4、创建一个画笔; 5、在画板上画画; 代码: package com.itheima.copypic; import android.app.Activity; import android.graphics.Bitmap...1 引入vitamio框架 以library形式引入 2 在布局中定义VideoView VideoView android:id="@+id

    1.4K10

    使用VideoView做个实用的视频播放器

    最终效果图 最终效果图 前言 这里用VideoView写一个播放器, 可以横竖屏, 可以选文件, 可以暂停, 可以快进后退, 可以进度条拖动, 可以触屏调节音量. 来看看怎么实现的吧!...布局文件 用RelativeLayout包裹VideoView是要点, 常规设置会形变的. 当然了, 还要重写onConfigurationChanged, 见后面横竖屏切换. <?..." android:background="@android:color/black" android:minHeight="200dp"> VideoView...> VideoView的使用 VideoView使用起来非常简单, 设置好MediaController, 然后设置URI或者是Path, 然后start开始就好....在activity标签下添加android:configChanges="keyboard|orientation|screenSize". 这样的话, 屏幕切换的时候不会去调用onStop等方法.

    1.4K50

    《移动互联网技术》第九章 感知与多媒体: 了解质感设计的基本原则和设计方法

    在MapActivity中,放置多个控件显示当前位置的经度和纬度,可以选择手工定位和GPS定位,设置目标地以后,点击按钮可以实现路径规划功能,地图上是一个切换按钮可以切换显示普通地图和卫星地图。...(3)使用系统的MediaPlayer类和SurfaceView控件来播放视频。 下面用VideoView控件来实现一个简易的视频播放器。...Material Design要求交互和界面视觉更符合现实世界的物理反馈法则,比如一个小球下落,在真实世界中是一个加速的过程,如果在Android界面上显示小球下落的动画,也要有类似现实世界的感觉。...android:background="#FFF"/> android.support.v4.widget.DrawerLayout> 在DrawerLayout中放置两个控件。...第二个控件放置一个ImageView控件,作为滑动菜单(侧边菜单)显示的内容,当然也可以使用其他控件。

    10710

    android视频系列:视频解码篇--android上视频播放的实现

    所以,播放器的两个核心功能,一个是解码,一个是显示。 我们来看看,Android为我们提供了哪些对象,可以让我们做视频的播放。...Android播放视频 下面我们介绍3种在Android上播放视频的方法。 1. 使用VideoView播放视频 ?...VideoView把解码和显示工作全部都封装起来,简单地设置视频路径,就可以进行播放了。 在显示方面,它就是一个View,可以在代码里创建,也可以在layout xml里直接定义。...在解码方面,它支持常用的解码控制操作,如start(), pause(), resume(), seek(), seekTo()等。...总结 以上在Android上实现的三种播放视频方法,从简单到复杂,可以根据自己功能的需要,灵活进行选择。如果只是简单地播放视频,可以使用VideoView。

    4.1K131

    Android-VideoView中的一些问题

    VideoView中遗留的问题 VideoView是直接继承SurfaceView VideoView中的openVideo可能会ANR VideoView中的release,stopPlayBack都会导致...会导致Surface绘制不及时,会有残留 多个VideoView同时播放的时候,在SurfaceFlinger支持不好的手机上,会出现下一个SurfaceView的某一帧会显示在上一个SurfaceView...而我们在ListView的每个卡片中,都有可能出现视频,而且需要自动播放,由于没有时间做视频先下载,再播放,所以选择的是Android自带的流播放。会一段一段的将视频先读到缓冲区,再播放。...在Android中,直接可以用HandlerThread,因为这样可以尽可能的让资源的消耗达到最少,HandlerThread在没有新事件到来的时候,都是处于wait状态,直到有新事件的到来,才会被notify...但是这样会导致一个问题,就是Android维护的MediaPlayer的状态机中的状态可能会乱,这时候就会抛出IllegalStateException,目前对于这种异常,我们选择了捕获它。

    2.8K30
    领券