Android Linux下的aac-eld解码

Android Linux下的aac-eld解码,android,linux,audio,ffmpeg,aac,Android,Linux,Audio,Ffmpeg,Aac,我在越南,试图学习越南语 困难的是学习发音,我制作了一个Android应用程序来录制声音。越南人民很好,我收集了500多个声音文件 现在我正在尝试制作一个语言学习应用程序。为了做到这一点,我试图减少噪音和正常化的音量 我选择了以下设置: this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC_ELD)

我在越南,试图学习越南语

困难的是学习发音,我制作了一个Android应用程序来录制声音。越南人民很好,我收集了500多个声音文件

现在我正在尝试制作一个语言学习应用程序。为了做到这一点,我试图减少噪音和正常化的音量

我选择了以下设置:

this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC_ELD);
this.recorder.setAudioEncodingBitRate(96000);
this.recorder.setAudioSamplingRate(44100);
(cordova AudioPlayer.java-默认设置为垃圾)

现在我有一个问题。我无法使用Audacity或FFmpeg打开文件

./ffmpeg -i /tmp/speaker__ualp__x%E1%BA%A5u.mp4 /tmp/uu.wav
ffmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb 20 2013 10:50:54 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-libfdk-aac
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
[aac @ 0xaada980] Audio object type 39 is not supported.
    Last message repeated 1 times
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/speaker__ualp__x%E1%BA%A5u.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2013-01-29 15:53:11
  Duration: 00:00:01.21, start: 0.000000, bitrate: 116 kb/s
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 96 kb/s
    Metadata:
      creation_time   : 2013-01-29 15:53:11
      handler_name    : SoundHandle
[aac @ 0xaada980] Audio object type 39 is not supported.
Output #0, wav, to '/tmp/uu.wav':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    Stream #0:0(eng): Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
    Metadata:
      creation_time   : 2013-01-29 15:53:11
      handler_name    : SoundHandle
Stream mapping:
  Stream #0:0 -> #0:0 (aac -> pcm_s16le)
Error while opening decoder for input stream #0:0

我能做什么?

使用SOX音频工具包设置比特率和采样率

Sox可以直接从shell中使用

使用下面的命令查看转换的语法和选项

# man sox 
更改采样率的示例

# sox input.mp3 -r 8000 output.wav

这里有一个声音文件示例:我可以从audacity-checkout mediainfo播放audio.mp4,它探测文件并显示与格式相关的信息您在Linux上使用audacity吗?Mediainfo显示:格式:ER AAC ELD格式/信息:高级音频编解码器编解码器ID:40比特率模式:恒定比特率:96.0 Kbps通道:1通道位置:前端:C采样率:44.1 KHz压缩模式:有损流大小:29.4 KiB(91%)现在我编译了最新版本的ffmpeg und libfdk aac。我看起来ffmpeg支持使用libfdk aac编码,但不支持解码。编辑您的问题标题,SOX应该适用于大多数linux发行版,但可能在android中不可用。我可以打开mp3、mp4、aac文件。问题在于aac eld。