Android视录视频示例及代码下载

这几天需要搞一个Android视频通话功能,从最简单的视频录制开始,网上例子大多不完整。下面的示例参考过别人的代码,还是拿出来给需要的朋友分享下。

我们提供的服务有:做网站、网站制作、微信公众号开发、网站优化、网站认证、渌口ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的渌口网站制作公司

Activity类:VideoActivity

 
 
 
  1. package com.media.Media;   
  2.    
  3. import java.io.File;   
  4. import java.io.IOException;   
  5.    
  6. import android.app.Activity;   
  7. import android.media.MediaRecorder;   
  8. import android.os.Bundle;   
  9. import android.os.Environment;   
  10. import android.view.SurfaceHolder;   
  11. import android.view.SurfaceView;   
  12. import android.view.View;   
  13. import android.view.View.OnClickListener;   
  14. import android.widget.Button;   
  15.    
  16. public class VideoActivity extends Activity {   
  17.    
  18.        
  19.     private File myRecAudioFile;   
  20.     private SurfaceView mSurfaceView;      
  21.     private SurfaceHolder mSurfaceHolder;    
  22.     private Button buttonStart;   
  23.     private Button buttonStop;   
  24.     private File dir;   
  25.     private MediaRecorder recorder;   
  26.        
  27.        
  28.     @Override   
  29.     public void onCreate(Bundle savedInstanceState) {   
  30.         super.onCreate(savedInstanceState);   
  31.         setContentView(R.layout.video);   
  32.         mSurfaceView = (SurfaceView) findViewById(R.id.videoView);      
  33.         mSurfaceHolder = mSurfaceView.getHolder();      
  34.         mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);    
  35.         buttonStart=(Button)findViewById(R.id.start);   
  36.         buttonStop=(Button)findViewById(R.id.stop);   
  37.         File defaultDir = Environment.getExternalStorageDirectory();   
  38.         String path = defaultDir.getAbsolutePath()+File.separator+"V"+File.separator;//创建文件夹存放视频   
  39.         dir = new File(path);   
  40.         if(!dir.exists()){   
  41.             dir.mkdir();   
  42.         }   
  43.         recorder = new MediaRecorder();   
  44.            
  45.         buttonStart.setOnClickListener(new OnClickListener() {   
  46.             @Override   
  47.             public void onClick(View v) {   
  48.                 recorder();   
  49.             }   
  50.         });   
  51.            
  52.         buttonStop.setOnClickListener(new OnClickListener() {   
  53.             @Override   
  54.             public void onClick(View v) {   
  55.                  recorder.stop();   
  56.                  recorder.reset();   
  57.                  recorder.release();   
  58.                  recorder=null;   
  59.             }   
  60.         });   
  61.     }   
  62.        
  63.        
  64.        
  65.     public void recorder() {   
  66.         try {   
  67.             myRecAudioFile = File.createTempFile("video", ".3gp",dir);//创建临时文件   
  68.             recorder.setPreviewDisplay(mSurfaceHolder.getSurface());//预览   
  69.             recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);//视频源   
  70.             recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //录音源为麦克风   
  71.             recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//输出格式为3gp   
  72.             recorder.setVideoSize(800, 480);//视频尺寸   
  73.             recorder.setVideoFrameRate(15);//视频帧频率   
  74.             recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//视频编码   
  75.             recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//音频编码   
  76.             recorder.setMaxDuration(10000);//最大期限   
  77.             recorder.setOutputFile(myRecAudioFile.getAbsolutePath());//保存路径   
  78.             recorder.prepare();   
  79.             recorder.start();   
  80.         } catch (IOException e) {   
  81.             e.printStackTrace();   
  82.         }   
  83.     }   
  84. }   

界面:video.xml

 
 
 
  1.    
  2.     xmlns:android="http://schemas.android.com/apk/res/android"   
  3.     android:orientation="vertical"   
  4.     android:layout_width="fill_parent"   
  5.     android:layout_height="fill_parent">     
  6.     
  7.         android:visibility="visible"    
  8.         android:layout_width="320px"    
  9.         android:layout_height="240px">   
  10.        
  11.        
  12.     
  13.         android:layout_width="fill_parent"   
  14.         android:layout_height="wrap_content">     
  15.         
  16.           android:layout_width="wrap_content"   
  17.           android:layout_height="wrap_content"   
  18.           android:text="录制"   
  19.           android:id="@+id/start"/>     
  20.         
  21.           android:layout_width="wrap_content"   
  22.           android:layout_height="wrap_content"   
  23.           android:layout_toRightOf="@id/start"   
  24.           android:text="停止"   
  25.           android:id="@+id/stop"/>     
  26.        
  27.   

权限配置:AndroidManifest.xml

 
 
 
  1.    
  2.       package="com.media.Media"   
  3.       android:versionCode="1"   
  4.       android:versionName="1.0">   
  5.        
  6.         
  7.                   android:label="@string/app_name">   
  8.                
  9.                    
  10.                    
  11.                
  12.            
  13.        
  14.        
  15.        
  16.        
  17.        
  18.        
  19.     

希望对需要的人有帮助,以下为代码下载

文章名称:Android视录视频示例及代码下载
文章起源:http://www.shufengxianlan.com/qtweb/news4/212254.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联