最近项目中有截屏的需求,普通的view截屏方法网上一搜一大把,但是SurfaceView截屏黑屏问题很多文章说的并不清楚,自己参考了一些别的博客,再加上自己的思考,算是找到了一种解决方案。
1、首先看我们一般是怎么用SurfaceView的
如题,这两个问题其实是同一个问题,为什么这么说呢?因为之前获取SurfaceTexture是在onSurfaceTextureAvailable接口里操作的,既然onSurfaceTextureAvailable没回调,获取的SurfaceTexture为空,自然没画面了。
在我的项目升级targetSdkVersion到29之后就会出现,我并不清楚onSurfaceTextureAvailab...
1.manifest 加 android:hardwareAccelerated="true"
2. 构造函数加setSurfaceTextureListener(this); 当然首先MyTextureviewextends TextureView implements TextureView.SurfaceTextureListener
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="matc
Android Studio中的VideoView是一个用于播放视频的视图组件。它可以在应用程序中嵌入视频,并提供了一些基本的控制功能,如播放、暂停、停止等。
要使用VideoView,您需要将其添加到您的布局文件中,并将视频文件设置为其源。您可以使用以下代码来设置VideoView的源:
VideoView videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVideoPath("path/to/your/video/file");
然后,您可以使用以下代码来控制视频的播放:
videoView.start(); // 开始播放
videoView.pause(); // 暂停播放
videoView.stopPlayback(); // 停止播放
您还可以使用MediaController类来添加控制器,以便用户可以更轻松地控制视频的播放。要添加控制器,请使用以下代码:
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
这些是使用Android Studio中的VideoView的基本步骤。希望这可以帮助您开始使用它。
我的Java开发学习之旅------>Java NIO 报java.nio.charset.MalformedInputException: Input length = 1异常
106809