surfaceview专题

Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用

1. SoundPool 用于快速重复的播放短音频 [java]  view plain copy public class MainActivity extends Activity {       private SoundPool soundPool;       private int soundId;          @Override       protec

Android Camera系列(一):SurfaceView+Camera

心行慈善,何需努力看经—《西游记》 本系列主要讲述Android开发中Camera的相关操作、预览方式、视频录制等,项目结构代码耦合性低,旨在帮助大家能从中有所收获(方便copy :) ),对于个人来说也是一个总结的好机会 一. Camera操作 Android系统存在这么多年,google更新了不少API。光是对摄像头的操作目前就有3中API: android.hardware

Android SurfaceView 播放视频 根据视频尺寸自适应播放

问题:我是用surfaceView+MediaPlay 播放本地上传的视频            但是由于视频尺寸不一致 有些视频播放会变形   (写个博客记录下开发时碰到的问题) 解决方案:视频尺寸会自动填充surfaceView,所以想要调整视频尺寸 修改surfaceView就好了。                  通过监听mediaplayer的回调函数“onVideoSizeCh

利用SurfaceView实现转盘抽奖

标签(空格分隔): android 1.什么是SurfaceView? 其实SurfaceView只是view的一个子类,但是他没有onDraw()方法。 SurfaceView和view最大的一个区别就是view是在UI线程中绘制的,而SurfaceView会在子线程中绘制。从而避免UI线程的阻塞,一般在有线开发中使用的比较多。 我猜你会问没有onDraw()方法那我们怎么来绘制Su

Surfaceview调用Camera实现拍照

一、Surfaceview的使用        surfaceView的使用主要有三步:继承SurfaceView;获取SurfaceViewHolder;应用Holder更新展示内容。Surfaceview的应用有常用类型及数据展示的Demo。        拍照功能实现思路: <span style="font-size:18px;">1,依据布局,获取Surfaceview对象;2,获

SurfaceView的应用

一,SurfaceView的初识        android游戏开发中常用的三种视图是:view、SurfaceView和GLSurfaceView   View:显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢。   SurfaceView:基于view视图进行拓展的视图类,更适合2D游戏的开发;是view的子类,类似使用双缓机制,在新的线

关于使用SurfaceView绘制同名背景为黑色解决方法

在继承SurfaceView绘制图片时,图片透明的部分出现了黑色,找了很多方法,都无效, 后来通过设置  seZOrderOnTop(true)  解决了。 本意是将其放到画布的最顶层,这样我的问题就解决了

SurfaceView内存怎么销毁?

在Android中,SurfaceView是一个特殊的视图,用于处理高性能视频或图形渲染,通常与Camera或自定义动画等场景配合使用。由于SurfaceView涉及到硬件层的资源管理,因此销毁和重建过程需要特别注意以确保资源正确释放和避免内存泄漏。以下是销毁SurfaceView的一般步骤: 1.解除监听器: 如果你设置了SurfaceHolder.Callback,记得在不再需要Surface

Android开发系列:高性能视图组件Surfaceview

一、Surfaceview概述 在Android应用开发领域,面对视频播放、游戏构建及相机实时预览等高性能需求场景,直接操控图像数据并即时展示于屏幕成为必要条件。传统View组件在此类情境下显现局限性: 性能瓶颈:传统View的绘制任务由UI主线程承担,如果绘制操作过于复杂或需要频繁刷新,就可能导致主线程阻塞,进而影响界面的响应速度和用户交互体验。视觉瑕疵:传统View组件缺乏双缓冲技术的支持

android SurfaceView实现视频播放

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent"android:layout_height=

Android | 改变SurfaceView控件的大小

最近,被如何修改显示视频的SurfaceView控件大小(即视频播放时所看到的画面大小)搞得焦头烂额。查看了各种技术网站以及源码,终于找到了。 有两个tips需要注意: 视频的大小:即视频解码后原本的Video size大小; 播放视频时的大小:指的是播放视频的控件的大小; 1、SurfaceHodler.setFixedSize(int w, int h); 函数功能说明:告诉系统真实

SurfaceView与TextureView的绘制渲染

SurfaceView与TextureView的绘制渲染 一.SurfaceView1.SurfaceView的初始化1.1 SurfaceControl的创建1.1.1 BLASTBufferQueue与SurfaceControl的绑定 1.2 Surface初始化 2.SurfaceHolder的回调与绘制2.1 画布的获取2.2 矩形的绘制2.3 绘制的提交 二.TextureVi

SurfaceView左右滑动切换黑屏问题解决方案

在项目中使用的是高德地图,放置MapView的Fragment和其他Fragment放置一个ViewPager中切换;当从MapView的Fragment切换到其他Fragment或者从其他Fragment切换到MapView就会产生闪黑边。网上有说什么设置白色背景或者设置Activity style透明。经尝试设置Activity style透明是可以解决闪黑边问题的,但是Activity透明后

SurfaceView + MediaPlayer 实现视频播放功能

在Android中,我们有三种方式来实现视频的播放。   1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。   2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。   3、使用MediaPlayer类和SurfaceView来实现。这种方式最灵活,也最复杂。

Android音视频任务列表之(一)——在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View

​ 一.使用ImageView绘制图片 1.在布局文件中添加ImageView控件 <ImageViewandroid:id="@+id/imageView"android:layout_width="120dp"android:layout_height="120dp"/> 2.在Activity中找到控件并设置图片 imageView= findViewById(R.id.

【Android基础入门〖7〗】SurfaceView坦克大战之世界地图

目录(?)[+] 1  自定义 SurfaceView WarView.java  (世界战场)            package com.mytank;   import java.util.Vector;   import android.content.Context;   import android.graphics.Canvas;   import andro

SurfaceView的代码模板

🍨SurfaceView的代码模板 🎏说在前面的:屋外是无尽的寒风,屋里是可亲的人。寒风想吹灭的你的光亮,你的任务是照亮这间小小的屋子。加油吧 1.SurfaceView 与 View的区别 使用View的痛点: View通过刷新来重绘视图,Android系统通过发出了VSYNC的信号来进行屏幕的绘制,刷新的时间间隔为16ms,如果在此时间内没有完成刷新操作,用户体验就会卡顿;

Android用SurfaceView播放本地视屏(音频)文件

我们知道Android中可以使用VideoView播放视频,而且操作简单、方便。除此之外,我们还可以利用MediaPlayer用来播放视频,不过MediaPlayer主要用于播放音频,没有提供输出图像的输出界面,就是只能听到声音,看不到画面,这时就想到到了SurfaceView控件,将它与MediaPlayer结合起来,就能达到了视屏播放效果了,今天就做一个简单的视屏播放功能,把准备好的视

安卓利用SurfaceView实现拍照功能

安卓开发中,除了使用自带的相机外,还可以自己实现自定义相机,通常是使用SurfaceView来实现预览拍照功能。直接贴代码:主界面Activity: public class MainActivity extends AppCompatActivity implements View.OnClickListener, SurfaceHolder.Callback {private Surfa

Android基础图形的一些表示方法,SoundPool,VideoView,SurfaceView

##图形的表示方法 位图:由许多点组成的点阵图。构成位图的点称为像素。目前Android中使用的都是位图。(缺点是放大倍数过大,图片质量会失真) 位图大小的计算 1. 单色 = 1位 = 八分之一byte,每个像素占用八分之一byte       200 * 200 / 8 = 5000 2. 2的24次幂色(约1600万) = 24位 = 3byte,每个像素占用3byte       20

Android下使用camera2和Surfaceview预览图像并取得YUV420p数据回调

Android 5.0(21)之后,android.hardware.Camera被废弃(下面称为Camera1),还有一个android.graphics.Camera,这个android.graphics.Camera不是用来照相的,是用来处理图像的,可以做出3D的图像效果之类的,之前的Camera1则由android.hardware.Camera2来代替。 Camera2支持RAW输出,

理解SurfaceView和SurfaceTexture

SurfaceView SurfaceView本质上是一个View,它与一般View的区别是它有自己的Surface,而一般的View使用的ViewRootImpl中的Surface,如下所示。 public final class ViewRootImpl implements ViewParent,View.AttachInfo.Callbacks, ThreadedRenderer.D

使用视频控件SurfaceView注意事项

当SurfaceView所在的activity离开了前台,SurfaceView会被 destory,当activity又重新回到前台,会被重新创建,SurfaceView会在onResume方法之后创建

SurfaceView背景设置为透明

将SurfaceView背景设置为透明,主要添加以下几句话就可以了: 在SurfaceView创建后设置一下下面的参数: setZOrderOnTop(true); getHolder().setFormat(PixelFormat.TRANSLUCENT); 还有在draw方法中绘制背景颜色的时候以下面的方式进行绘制就可以实现SurfaceView的背景透明化 canvas.drawColor

SurfaceView 使用步骤

1.继承SurfaceView 2.实现SurfaceHolder.Callback接口 3.使用getHolder().addCallback(this); 4.重写surfaceChanged(...),surfaceCreated(..),surfaceDestroyed(..) 5.画图holder.lockCanvas()->画图ing->holder.unlockCa