zoukankan      html  css  js  c++  java
  • android 录音

    android录音这是也是很平常的一件事 特别是那种社交app用的多

    接下来就说一个dome 算是复习了把

    先看下录音的架构图把

    我想上面的图应该可以看懂把 

    我先说下我做的app的效果图把

    点击停止会保存到sd卡上

    直接看java代码把

    public class MainActivity extends Activity {
    
    	private TextView tv;
    	private MediaRecorder mr;
    	private Timer timer;
    	private TimerTask task;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		tv = (TextView) findViewById(R.id.tv);
    		mr = new MediaRecorder();
    		
    		timer = new Timer();
    		task = new TimerTask() {
    			
    			@Override
    			public void run() {
    				//使用handler
    				handler.sendEmptyMessage(0);
    			}
    		};
    	}
    	int t = 0;
    	//使用 Handler 修改进度
    	Handler handler = new Handler(){
    		public void handleMessage(android.os.Message msg) {
    			switch (msg.what) {
    			case 0:
    				//更新时间
    				tv.setText("录音的时间: "+(t++));
    				break;
    			}
    		};
    	};
    	
    	public void l(View v){
    		try {
    			//设置音频资源 麦克风
    			mr.setAudioSource(AudioSource.MIC);
    			//设置输出格式
    			mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    			//设置录音格式
    			mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    			//设置输出路径
    			mr.setOutputFile("/mnt/sdcard/ab.mp3");
    			//准备
    			mr.prepare();
    			//开始
    			mr.start();
    			//更新进度
    			timer.schedule(task, 0, 1000);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}		
    	}
    	
    	public void t(View v){
    		//
    		mr.stop();
    		mr.reset();
    		mr.release();
    		//
    		timer.cancel();
    		Toast.makeText(this, "录音文件保存成功", 1000).show();
    	}
    }
    

      这里需要注意的是 需要加入权限

        <uses-permission android:name="android.permission.RECORD_AUDIO"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • 相关阅读:
    97. 交错字符串-7月18日
    如何判断一个区块链项目的好坏?
    不知道这10点,千万别用SaaS
    数字人民币应用的五大猜想!你最关心哪个?
    什么是人工智能核心?这2个功能上线
    大数据的七大核心具体价值
    机器学习操作正在兴起
    每个大数据架构师都需要的6个基本技能
    数据之美:可视化会给你意想不到的答案!
    如何采用人工智能创建自动化运营的数据中心
  • 原文地址:https://www.cnblogs.com/Striver-zw/p/4193734.html
Copyright © 2011-2022 走看看