zoukankan      html  css  js  c++  java
  • Android之音频录音

    必须在AndroidManifest中设置相应的权限:android:name="android.permission.RECORD_AUDIO" 

    1. 首先判定是否存在SD卡,并得到相应的路径 

    /* 检测是否存在SD卡 */  

    if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))

    {

    /* 得到SD卡得路径 */

    mRecAudioPath = Environment.getExternalStorageDirectory();

    /* 更新所有录音文件到List中 */

    musicList(); }

    2. 录音开始

    /* 创建录音文件,第一个参数是文件名前缀,第二个参数是后缀,第三个参数是SD路径 */  

    mRecAudioFile = File.createTempFile(strTempFile, ".amr", mRecAudioPath);

    /* 实例化MediaRecorder对象 */

    mMediaRecorder = new MediaRecorder();

    /* 设置麦克风 */

    mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

    /* 设置输出文件的格式 */

    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

    /* 设置音频文件的编码 */

    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

    /* 设置输出文件的路径 */

    mMediaRecorder.setOutputFile(mRecAudioFile.getAbsolutePath());

    /* 准备 */

    mMediaRecorder.prepare();

    /* 开始 */

    mMediaRecorder.start();

     

    3. 录音关闭

    mMediaRecorder.stop(); 

    4. 播放录音文件

    Intent intent = new Intent();

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setAction(android.content.Intent.ACTION_VIEW);
    /* 设置文件类型 */
    intent.setDataAndType(Uri.fromFile(file), "audio");
    startActivity(intent);

    5. 过滤文件类型,实现FilenameFilter

    class MusicFilter implements FilenameFilter
    {
    public boolean accept(File dir, String name)
    {
    return (name.endsWith(".amr"));
    }

     代码下载:/Files/lee0oo0/Examples_07_05.rar

  • 相关阅读:
    【CSP2019模拟】题解
    【Codeforces 868 G】— El Toll Caves(类欧几里得)
    【Codeforces 868 G】— El Toll Caves(类欧几里得)
    如何写出规范的代码? 做一名追求极致的软件工程师!
    浏览器原理
    URL(待整合到HTTP书中哦)
    FTP服务器
    background-image 和 img
    XML的总结学习
    逻辑思维 代码逻辑
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2508257.html
Copyright © 2011-2022 走看看