2023年7月15日发(作者:)
1. package ;
2.
3. import ption;
4.
5. import ty;
6. import tyInfo;
7. import ormat;
8. import ecorder;
9. import ;
10. import eHolder;
11. import eView;
12. import ;
13. import kListener;
14. import ;
15. import Manager;
16. import ;
17.
18. /**
19. * class name:TestBasicVideo
20. * class description:一个简单的录制视频例子
21. * PS:实现基本的录制保存文件
22. *
23. * @version 1.00 2011/09/21
24. * @author CODYY)peijiangping
25. */
26. public class TestBasicVideo extends Activity implements ck {
27. private Button start;// 开始录制按钮
28. private Button stop;// 停止录制按钮
29. private MediaRecorder mediarecorder;// 录制视频的类
30. private SurfaceView surfaceview;// 显示视频的控件
31. // 用来显示视频的一个接口,我靠不用还不行,也就是说用mediarecorder录制视频还得给个界面看
32. // 想偷偷录视频的同学可以考虑别的办法。。嗯需要实现这个接口的Callback接口
33. private SurfaceHolder surfaceHolder;
34.
35. public void onCreate(Bundle savedInstanceState) {
36. te(savedInstanceState);
37. requestWindowFeature(E_NO_TITLE);// 去掉标题栏
38. getWindow().setFlags(_FULLSCREEN,
39. _FULLSCREEN);// 设置全屏
40. // 设置横屏显示
41. setRequestedOrientation(_ORIENTATION_LANDSCAPE);
42. // 选择支持半透明模式,在有surfaceview的activity中使用。
43. getWindow().setFormat(UCENT);
44. setContentView();
45. init();
46. }
47.
48. private void init() {
49. start = (Button) ewById();
50. stop = (Button) ewById();
51. lickListener(new TestVideoListener());
52. lickListener(new TestVideoListener());
53. surfaceview = (SurfaceView) ewById(eview);
54. SurfaceHolder holder = der();// 取得holder
55. lback(this); // holder加入回调接口
56. // setType必须设置,要不出错.
57. e(E_TYPE_PUSH_BUFFERS);
58. }
59.
60. class TestVideoListener implements OnClickListener {
61.
62. @Override
63. public void onClick(View v) {
64. if (v == start) {
65. mediarecorder = new MediaRecorder();// 创建mediarecorder对象
66. // 设置录制视频源为Camera(相机)
67. eoSource();
68. // 设置录制完成后视频的封装格式THREE_GPP为_4为mp4
69. mediarecorder
70. .setOutputFormat(_GPP);
71. // 设置录制的视频编码h263 h264
72. eoEncoder(ncoder.H264);
73. // 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错
74. eoSize(176, 144);
75. // 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错
76. eoFrameRate(20);
77. viewDisplay(face());
78. // 设置视频文件输出的路径
79. putFile("/sdcard/love.3gp");
80. try { 81. // 准备录制
82. e();
83. // 开始录制
84. ();
85. } catch (IllegalStateException e) {
86. // TODO Auto-generated catch block
87. tackTrace();
88. } catch (IOException e) {
89. // TODO Auto-generated catch block
90. tackTrace();
91. }
92. }
93. if (v == stop) {
94. if (mediarecorder != null) {
95. // 停止录制
96. ();
97. // 释放资源
98. e();
99. mediarecorder = null;
100. }
101. }
102.
103. }
104.
105. }
106.
107. @Override
108. public void surfaceChanged(SurfaceHolder holder, int format, int width,
109. int height) {
110. // 将holder,这个holder为开始在oncreat里面取得的holder,将它赋给surfaceHolder
111. surfaceHolder = holder;
112. }
113.
114. @Override
115. public void surfaceCreated(SurfaceHolder holder) {
116. // 将holder,这个holder为开始在oncreat里面取得的holder,将它赋给surfaceHolder
117. surfaceHolder = holder;
118. }
119.
120. @Override
121. public void surfaceDestroyed(SurfaceHolder holder) { 122. // surfaceDestroyed的时候同时对象设置为null
123. surfaceview = null;
124. surfaceHolder = null;
125. mediarecorder = null;
126. }
127. }
[html] view plaincopyprint?
1. 2. android:layout_width="fill_parent" 3. android:layout_height="fill_parent" 4. android:orientation="horizontal" > 5. 6. 7. android:layout_width="fill_parent" 8. android:layout_height="fill_parent" 9. android:layout_weight="1" > 10. 11. 12. android:id="@+id/surfaceview" 13. android:layout_width="fill_parent" 14. android:layout_height="fill_parent" /> 15. 16. 17. 18. android:layout_width="fill_parent" 19. android:layout_height="fill_parent" 20. android:layout_weight="4" 21. android:gravity="center" 22. android:orientation="vertical" > 23. 24. 38. 39.
[html] view plaincopyprint?
1.
2. 3. package="" 4. android:versionCode="1" 5. android:versionName="1.0" > 6. 7. 8. android:icon="@drawable/icon" 9. android:label="@string/app_name" > 10. 11. android:label="@string/app_name" 12. android:name=".TestBasicVideo" > 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689430698a247053.html
评论列表(0条)