Android studio录屏按钮不能用怎么办,Android多态实现原理

当Android Studio的录屏功能无法使用时,可能与连接的手机有关。尝试更换其他手机如OPPO R9或Xiaomi MI 5,可能可以解决问题。华为Honor V8手机自身有录屏功能,可使用电源键和音量上键启动。面试中,Android的知识点有限,关键在于对这些知识点的掌握程度。提供了一份包含历年大厂面试题、高级进阶教程和学习资料的资源集合。
摘要由CSDN通过智能技术生成

再点击OK

这时候其实就能感觉不对劲了,还没开始录呢,怎么视频都保存好了呢?

找到该视频文件:

发现该视频文件大小是 0 字节,空欢喜一场。

于是我又打开了genymotion 中的一个模拟器:

继续点击录制:

点击Start Recording:

看来真的在录屏,停止录屏,保存文件,查看录制视频。

皇天不负有心人啊!终于成功了。

当你的Android studio 录屏按钮不能用时,可以换个手机试试。原

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android Studio中实现录屏功能,你可以使用MediaProjection API。下面是一些基本步骤来实现它: 1. 在AndroidManifest.xml文件中添加以下权限: ``` <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> ``` 2. 创建一个Service类来处理录屏逻辑。在这个Service中,你需要初始化MediaProjectionManager和MediaRecorder,并获取用户的屏幕和音频权限。下面是一个简单的实现示例: ```java public class ScreenRecordService extends Service { private MediaProjectionManager mediaProjectionManager; private MediaProjection mediaProjection; private VirtualDisplay virtualDisplay; private MediaRecorder mediaRecorder; @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE); mediaRecorder = new MediaRecorder(); initRecorder(); startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(), REQUEST_CODE_CAPTURE); return START_NOT_STICKY; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_CAPTURE) { mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data); virtualDisplay = createVirtualDisplay(); mediaRecorder.start(); } } private void initRecorder() { mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); mediaRecorder.setVideoEncodingBitRate(512 * 1000); mediaRecorder.setVideoFrameRate(30); mediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT); mediaRecorder.setOutputFile(getFilePath()); } private VirtualDisplay createVirtualDisplay() { return mediaProjection.createVirtualDisplay("MainActivity", DISPLAY_WIDTH, DISPLAY_HEIGHT, screenDensity, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, mediaRecorder.getSurface(), null /*Callbacks*/, null /*Handler*/); } private String getFilePath() { // 返回你想要保存录屏视频的文件路径 } } ``` 3. 在你的MainActivity(或其他需要录屏的Activity)中,启动该Service: ```java Intent intent = new Intent(this, ScreenRecordService.class); startService(intent); ``` 这只是一个基本的示例,你可能还需要处理一些其他的逻辑,如停止录屏、处理权限请求和错误处理等。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值