【问题标题】:How to improve the audio quality on android如何提高android上的音频质量
【发布时间】:2012-08-06 13:00:59
【问题描述】:

我正在使用 AudioRecorder 类在 android 上进行录音应用程序,并且使用了不同的采样率 44100、32000、24000、16000 和 8000。采样率 44100 提供了高质量的音频,但它需要非常大的尺寸,但其他采样率给出文件大小可接受的质量差和质量非常差的音频。

在你说可能重复的问题之前,我已经看到了以下链接:

Link1

Link2

但引用的链接与问题不同。

我的问题是如何在 32000、24000 和 8000 等采样率下以小文件大小获得高质量的音频?

或者有什么办法可以把wav文件从大压缩成小?

我的代码示例:

tempbufferSize = AudioRecord.getMinBufferSize(16000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);
........
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,tempbufferSize);
mAudioRecord.startRecording();
.....

我已经推荐了Link.

请帮帮我。

【问题讨论】:

  • “如何提高 android 上的音频质量” - 买一副新耳机。
  • @H2CO3,请帮助相关cmets。不要写这些类型无关的 cmets。请。

标签: android audio-recording android-audiomanager


【解决方案1】:

WAV 是纯未压缩的音频数据,因此在不牺牲质量的情况下,文件大小会非常大。您可以使用 MediaRecorder 和 setOutputFormat() 录制到 MPEG4

看看:

MediaRecorder

OutputFormat MPEG4

希望有所帮助

【讨论】:

  • 实际上,我看到您问题中的链接 2 使用了 MediaRecorder。这不能解决您的问题吗?
  • 我需要暂停和恢复音频录制功能,这就是我不继续使用 MediaRecorder 的原因。可以在暂停和恢复时合并 mp4 文件吗?如果这是可能的,请告诉我一些样品?请
  • 我明白了。它确实具有启动和停止功能,但在调用 Stop 之后,您必须重新配置它,就好像您重新开始一样。您可以在每次会话后连接文件。另一种选择是以 WAV 录制,然后在完成后,使用 JLayer 将 WAV 文件转换为 MP3。 JLayer:javazoom.net/javalayer/javalayer.html
  • 请告诉我如何在每次会话后使用 MediaRecorder 为 Mp4 文件连接文件。这对我有很大帮助。
  • 这里的 mpeg-4 规范是 mpeg.chiariglione.org/standards/mpeg-4/mpeg-4.htm#10.9。您必须知道文件头结构,我真的不确定。
【解决方案2】:

您确实意识到,当您提高采样率时,每秒会获得更多样本,这会有效地增加文件的大小。这种方法质量更高,数据更多。

一些压缩参考:


http://www.eetimes.com/design/analog-design/4017792/Audio-Compression-Algorithm-Overview

http://jspeex.sourceforge.net/index.php

http://flac.sourceforge.net/license.html

http://jflac.sourceforge.net/

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 2010-11-29
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2023-03-06
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多