android 横屏录制视频,MediaRecorder怎么在竖屏的时候录像结果是横屏录的结果
public class VideoActivity extends Activity implements SurfaceHolder.Callback {
private Button start;// 开始录制按钮
private Button stop;// 停止录制按钮
private MediaRecorder mediarecorder;// 录制视频的类
private SurfaceView surfaceview;// 显示视频的控件
private SurfaceHolder surfaceHolder;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏
设置横屏显示
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
选择支持半透明模式,在有surfaceview的activity中使用。
// getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.video);
init();
}
private void init() {
start = (Button) this.findViewById(R.id.start);
stop = (Button) this.findViewById(R.id.stop);
start.setOnClickListener(new TestVideoListener());
stop.setOnClickListener(new TestVideoListener());
surfaceview = (SurfaceView) this.findViewById(R.id.surfaceview);
SurfaceHolder holder = surfaceview.getHolder();// 取得holder
holder.addCallback(this); // holder加入回调接口
// setType必须设置,要不出错.
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
Camera camera;
class TestVideoListener implements OnClickListener {
@Override
public void onClick(View v) {
if (v == start) {
mediarecorder = new MediaRecorder();// 创建mediarecorder对象
// 设置录制视频源为Camera(相机)
camera = Camera.open(Camera.CameraInfo.CAMERA_FACING_BACK);
if (camera != null) {
// camera.setDisplayOrientation(90);//摄像图旋转90度
camera.unlock();
mediarecorder.setCamera(camera);
}
mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediarecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediarecorder.setPreviewDisplay(surfaceHolder.getSurface());
// mediarecorder.setOrientationHint(90);//视频旋转90度,没有用
System.out.println("手机默认地址:" + Environment.getExternalStorageDirectory());
// 设置视频文件输出的路径
mediarecorder.setOutputFile(Environment.getExternalStorageDirectory() + "/" + "test.mp4");
try {
// 准备录制
mediarecorder.prepare();
// 开始录制
mediarecorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (v == stop) {
if (mediarecorder != null) {
// 停止录制
mediarecorder.stop();
// 释放资源
mediarecorder.release();
mediarecorder = null;
}
}
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// 将holder,这个holder为开始在oncreat里面取得的holder,将它赋给surfaceHolder
surfaceHolder = holder;
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// 将holder,这个holder为开始在oncreat里面取得的holder,将它赋给surfaceHolder
surfaceHolder = holder;
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// surfaceDestroyed的时候同时对象设置为null
surfaceview = null;
surfaceHolder = null;
mediarecorder = null;
}
}
像做朋友圈视频那样的,竖着拿手机,然后压缩显示出横着拿手机拍摄的效果,现在代码显示出的还是竖屏拍摄结果,设置camera.setDisplayOrientation(90)现实的虽然是横屏,但明显是把竖屏给纵向压缩了,比例都变了。
android 横屏录制视频,MediaRecorder怎么在竖屏的时候录像结果是横屏录的结果相关推荐
- 抖音视频模板 创意手机竖屏宣传视频促销PR抖音素材 PR模板网
抖音视频模板 创意手机竖屏宣传视频促销PR抖音素材 Premiere模板素材网 分享您的想法,传播信息,与受众交流,销售产品的最具创意的方式. 高度可定制性使可以根据需要更改模板:更改文本,大小,照片 ...
- android 横屏录制视频,安卓手机如何录制屏幕视频?一招结束录屏的烦恼
随着手机功能的越来越强大,大大小小的事情都可以在手机上完成,导致我们的生活的吃喝玩乐都用到手机,那么我们有时会在手机上刷到一些好玩的视频,想把它保存下载,但由于无法下载,所以我们就想了各种办法,最后采 ...
- android横向纵向切换,【报Bug】安卓竖屏切换到横屏后,再切换回竖屏,不能正常还原...
详细问题描述 [内容] 我们做了一个手机签名的功能,签名的时候是横屏的,签完后返回前一页重新还原成竖屏,但是在有的安卓机型上不能正常还原. 重现步骤 [步骤] 1.进入页面横屏,做签名操作, 2.关闭 ...
- android 边录制视频边写软字幕
目前,对于边录制视频,边要显示时间戳的需求,都是通过用对应字符的bitmap图片的yuv数据,来替换每一帧yuv数据的像素点来实现的.这样做的坏处显而易见,这个时间戳数据,是硬生生的印在每一帧数据上的 ...
- android 录像 视频大小,Android相机 – 录制视频时预览放大
我一直试图弄清楚一段时间,但由于某种原因,当我开始使用相机录制视频时,预览放大.我从以下示例中获取以下代码: @Override public void surfaceChanged(SurfaceH ...
- android 小米录制视频,小米手机如何录屏 小米手机录屏方法【教程】
相信很多人喜欢用小米,一个很大的原因便是功能丰富多样的MIUI.而本周,MIUI又更新了一个很多人非常期待的功能:录屏.目前支持的机型有小米3/4/5以及小米note,后续会继续完善. 对于这样一个贴 ...
- AVCaptureMovieFileOutput 视频方向(锁定竖屏or不锁定都可以)
2019独角兽企业重金招聘Python工程师标准>>> 最近又在弄短视频录制,解决一个问题又来一个问题.还好百度跟谷歌都是那么滴强大,基本上都能解决我遇到的问题.不过别人的答案不一定 ...
- html背景视频模糊效果,怎么给竖屏视频添加模糊背景效果?
原标题:怎么给竖屏视频添加模糊背景效果? 下面是具体的步骤(本篇教程仅使用一个素材): 1.首先需要下载一个竖屏的视频或图片素材,双击打开视频剪辑软件,在左上角的"项目媒体"中,点 ...
- css多媒体竖屏,css3 媒体查询方向:横屏竖屏教程
大家好,今天给大家分享的是css3 媒体查询方向:横屏竖屏教程,希望大家喜欢. 说道媒体查询,很多人会感觉陌生,但是对于做响应式开发的同学来说,那是再熟悉不过了. 结合CSS媒体查询,可以创建适应不同 ...
最新文章
- [Step By Step]使用SLT工具从SAP导入数据到SAP HANA
- Cocos2d-js学习--helloword
- 「C++」C++ Primer Plus 笔记:第二章 开始学习C++
- Android延时执行调用的几种方法
- 局域网内连接MySQL
- 导出为Excel例子 java
- Web 开发必须掌握的三个技术:Token、Cookie、Session
- JavaScript 之 JS重载
- 自适应采样次数的Ransac算法
- [剑指offer] 7. 斐波那契数列 (递归 时间复杂度)
- 中国工程院院士郑纬民:应鼓励从头研发先进的存储系统软件
- 决策树人工智能预测模型_部署和服务AI模型进行预测的10种方法
- Mac 上的 MySQL 管理工具 -- Sequel Pro
- android 动态壁纸 例子,android 动态壁纸实例(1)【转】
- python交集和补集的符号_python数组并集交集补集
- 计算机二级 MS office(Excel)常用函数
- lio linux工具,ISCSI (简体中文)/LIO (简体中文)
- 【《关于我一个小学生用C++写了个抽奖游戏这件事》】
- Python爬虫笔记————抓取 猫眼电影排行榜Top100
- 某高人整理的Java就业面试题大全【1】