【问题标题】:how to record audio file with better quality in android?如何在android中录制质量更好的音频文件?
【发布时间】:2013-02-05 01:23:06
【问题描述】:

我正在创建一个应用程序,可以将 Android 上的录制文件播放到 iphone,反之亦然。

现在我正在使用,

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

使用此代码记录的文件大小为 85 kb /15 秒,质量很差。

如果我使用 ,

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

那么文件大小为 25kb/15 秒,质量比 aac 好得多。 但问题是 AMR 在 iPhone 中无法播放。

因此,请建议为 Android 录制架构,它具有更好的质量、更实惠的尺寸并且也可以在 iPhone 上播放。

【问题讨论】:

    标签: android android-mediarecorder aac android-audiorecord


    【解决方案1】:

    这个链接很有用:Android supported media formats

    本节为我们提供有关音频和视频格式的更多信息。

    【讨论】:

      【解决方案2】:

      如果要更改质量,请增加 recorder.setAudioEncodingBitRate(value)。

      recorder = new MediaRecorder();
      recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
      recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
      recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
      recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
      recorder.setAudioEncodingBitRate(16);
      recorder.setAudioSamplingRate(44100);
      recorder.setOutputFile(path);
      recorder.prepare();
      recorder.start(); 
      

      编辑:

      另一种选择是为您的应用添加转换器。将 AMR 转换为 AAC。

      【讨论】:

      • 感谢杰梅因,audioRecorder.setAudioSamplingRate(44100); audioRecorder.setAudioEncodingBitRate(96000);试试这个,但声音很大。
      • 尝试调整采样率和比特率。并找到一个更好的地方记录。
      • 比特率以比特每秒而不是 kb 每秒为单位,因此应该在 128000 左右,而不是此处所示的 16(值 16 对应于比特深度)。
      • recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax()); 使我的应用程序崩溃;但是recorder.setAudioEncodingBitRate(128000); 几乎可以完美运行。
      • 获取最大原因“无效的音频编码器”。安卓 8.1。
      猜你喜欢
      • 2014-04-12
      • 2011-08-07
      • 2014-02-13
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多