问题标签 [lame]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 iOS 中使用 LAME 从 PCM 编码到 MP3 时的点击次数
我不是第一个遇到此类问题的人,但是,我一直无法解决。
我在 iOS 中将 LinearPCM 编码为 MP3。尽管我在每个缓冲区之间都遇到了点击,但它正在工作。
然后,我对缓冲区执行以下操作:
在调用 lame_encode_buffer 后,我尝试添加以下行:
但是,这也会导致一个光点(我猜它在一帧的末尾输入了一些 0)。尝试这让我意识到我没有对 inBuffer->mAudioData 的一些最后的音频数据包进行编码,这可能会导致点击。但是,我不确定如何计算剩下多少(如果我知道,我可以简单地将这些数据包保存在一个“剩余”缓冲区中,该缓冲区附加到传入的下一个缓冲区)。
以下是有关我的设置的更多信息:
我有以下输入格式:
我这样设置跛脚:
android - 使用带有 LAME 的 NDK 的内置函数警告的不兼容隐式声明
我正在尝试遵循位于以下位置的教程
http://developer.samsung.com/android/technical-docs/Porting-and-using-LAME-MP3-on-Android-with-JNI
这样做的要点是它允许将 LAME MP3 编码器与 JNI 一起使用。
我按照教程中提到的每个步骤进行操作。我的项目位于
并称为“LAME_Test”。根据教程中标记为使用 NDK 编译的部分,我继续制作了一个名为“Android.mk”的 makefile,如下所示。
我在 64 位机器上运行 Windows 7。我确实安装了 Cygwin 和 NDK,并测试了我的设置是否适用于我正在处理的另一个项目。然而,当我去
在 Cygwin 上并发出以下命令
假设 NDK 位于
编译吐出一堆这样的警告
我在这篇文章的底部附上了一小段警告(因为警告列表非常大,可能只会增加混乱 - 而不是增加价值)。
想知道是否有一种巧妙的方法来解决这些警告并获得良好、干净的编译。
PS:我会补充一点,我能够在上面的链接(LAME4Android)中构建+运行示例项目。这需要编译本机代码。因此,尽管有所有警告,该项目看起来确实构建得很好。我最初认为它是由于警告而损坏的。但是,如果有某种方法可以修复警告,那确实很棒。
Android.mk 文件的内容
内置函数警告的不兼容隐式声明日志
android - 使用 lame 作为库
我已经lame
为 android 编译为静态库。
如何使用 lame 将wav
文件转换为mp3
?
我要打什么电话?有一些关于如何使用 lame 作为库的教程?
c++ - 蹩脚的 wav 到数组并使用 c/c++ 返回到 wav
我可以将 wav 文件转换为简单的 c double 或 int 数组并转换回新的 wav 文件吗?我想在 wav 文件中使用一些 c 过滤器。我认为跛脚是可能的。但我不知道怎么做。有人可以链接一些文档或代码片段,我该如何使用它?
wav 文件 -> 数组 -> 一些操作 -> wav 文件
谢谢你的回答。
c++ - 音频转换 (LAME) C++ WAV -> MP3
下午好。抱歉,我的英语不太好。
几天来,我尝试将 WAV 转换为 MP3。为此,我使用 LAME。我可以通过命令提示符使用以下命令转换文件:
但我不想通过命令行(为了跨操作系统的可移植性),但我不能在 C++ 中做到这一点(通过 LAME 库)。
这是我的代码:
我得到一个质量很差的 MP3 文件(并且持续时间比原始文件短)。
有什么想法可以解决这个问题吗?
这是我的信息。
谢谢你。
batch-file - Windows Batch Lame 编码语法
我需要让一个很小的 Windows 批处理文件 (convert.cmd) 正常工作,它可以更改指定文件夹中所有 MP3 文件的比特率。我需要将 2 个参数传递给批处理文件:
- 包含 MP3 文件的文件夹的路径
- 比特率我想把它们改成。
我正在使用 Lame.exe 编码器。lame.exe在一个地方,convert.cmd可以和lame.exe在同一个文件夹,但是MP3文件的文件夹可以在任何地方。原始版本(不带参数)是(如果我将 convert.cmd 放在带有 MP3 文件的文件夹中,它工作正常):
我需要传递“%2”而不是 128,它将是第二个命令行参数,比特率,对于 MP3 文件的文件夹路径,我需要传递“%1”。所以,我得到了这个,但它不起作用。
如何使其按描述工作?
如何确保我的批处理文件转换现有文件,而不是在某处创建它们的新转换副本?非常感谢;)干杯。
更新
convert.cmd 的位置是:
d:\Apps\Lame\convert.cmd,与 lame.exe 相同的文件夹
MP3文件的位置是:
d:\温度\xxx\
- 文件1.mp3
- 文件2.mp3
当我像这样从命令行执行 convert.cmd 时:
转换.cmd d:\temp\xxx\ 64
我在 d:\temp\xxx\ 中得到的是:
- 文件 1.mp3.temp
- 文件2.mp3.temp
转换后的文件去哪了?
谢谢。
c - 在 C 中使用 LAME 的问题
我正在pcm
尝试mp3
使用Lame
. 虽然 pcm 数据确实被转换为 mp3 文件,但输出非常刺耳。在我发布问题之前,以下是我的代码:
我的问题:
1. 我的输入 pcm 数据以 16kHz 采样,单声道并以 16 位编码。鉴于只有一个通道,lame_encode_buffer_int 的输入中的左右通道是什么?
2. 我不确定我是否理解从一维数组到二维数组(代码中的 pcm_samples_1d 到 pcm_samples_2d)的“转换”过程,正如这个问题中给出的那样。
3. 为什么我的声音很刺耳?在代码中,使用的库是使用--enable-debug
标志从源代码编译的。但是,我无法使用gdb
. 我还应该做什么?
到目前为止我所尝试的:
1. 阅读 LAME 项目的文档(或网络上可用的内容)。
2. 通读 SO 和其他论坛上发布的问题。
3. 浏览源代码:lame.h
、frontend/main.c
frontend/get_audio.c`等。
非常欢迎对此提供任何帮助。
c - 在 LAME 中读取 PCM 样本 - 需要解释源代码
在我在此处LAME
发布的问题之后,对with 的进一步调查gdb
显示,在任何给定时间,仅从输入pcm
文件中读取 576 个样本。但是,这些样本用于填充 2304 1D 或 2*1152 2D 阵列。我无法理解的正是这种转变。我在这里发布相关代码并要求解释。我已经解释了部分代码并将问题插入到代码中???
。
函数read_samples_pcm
定义如下:
c# - 用 LAME 播放 MP3
我正在考虑制作一个桌面音乐播放器,可能是 C#(还不确定),为了支持 MP3,我想使用 LAME 出于各种质量和其他原因。我习惯于用 Java 编码,因此只使用 Java 库和 Java,不太了解如何使用 LAME 在我的程序中播放 MP3。
我已经在命令行上使用 lame.exe 将 MP3 解码为 WAV(lame.exe --decode "filename.mp3")
但不知道如何使用 LAME 播放 MP3,也不知道如何在程序中播放(即不使用命令行)。
我必须使用 C 才能使用 LAME 库吗?
我还必须在播放前先解码 MP3 吗?
ios - 适用于 iOS 的 LAME api - 设置
我看过很少有关于这个问题的帖子。一切都以模糊的方式解释。有没有办法知道逐步设置 LAME api for iOS ( http://lame.sourceforge.net/ )。如果有人能有足够的耐心来解释 LAME iOS 的设置,那就太棒了。非常感谢提前