android - Linux 中的 aac-eld 解码

标签 android linux audio ffmpeg aac

我在越南并尝试学习越南语。

难的是学习发音,我做了一个安卓应用程序来录音。越南人很好,我收集了 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

关于android - Linux 中的 aac-eld 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986386/

相关文章:

php - Codeigniter、GroceryCRUD、GoDaddy - 文件上传错误

linux - grep - 限制读取的文件数

linux - SSH 连接到 ec2 连接超时

audio - 提供上载文件转录的音频托管服务?

audio - 如何使用 ffmpeg 中的 libavcodec 将 opus 文件解码为 pcm 文件?

ios - 启动 Unity3D 游戏时背景音乐闪避

安卓 : Detect phone fall using accelerometer

android - 您可以删除android play store app并使用包名吗?

android - 窗口背景 Material 设计兼容性

android - 迫切需要帮助构建 Android 代理服务器