问题标签 [amr]
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.
java - 在android中录制声音
我想知道如何录制一段特定时间的声音,而不是将其保存到文件中——例如保存在字节流中。另外,如果可能的话,让它看起来像一个 AMR 文件。我试图搜索谷歌,也自己写了一些代码,但没有成功。如果您可以将我链接到解释如何执行此操作的页面,或者举个例子,那您会非常好:)
谢谢。
iphone - How to use Opencore AMR in iPhone app?
iOS 4.3 no longer supports playing AMR Audio Files which is horrible and completely kills my app. Some people have suggested using Opencore-amr but I'm at a loss in terms of how to compile the library and integrate it into my iPhone application.
I'm looking for any tips or help I can get in terms of how to compile the library, include/link the library in my app, and sample source code for using this library to play AMR files in an iPhone app.
ios - 使用 libav (ffmpeg) 将 AMR 解码为 AAC
据我所知,iOS 4.3 不支持通过 AudioQueue 输出播放 AMR 帧。我从 RTSP 服务器接收 AVPacket 实例作为 AMR 帧。我正在尝试使用两种方法将 AMR 解码为原始缓冲区,然后将其编码为 AAC。我找到了使用 LIBAV 执行此操作的示例代码,但遇到了问题。有我的方法:
并编码:
事实上,它解码输入数据包,我可以看到原始缓冲区及其大小(输入大小 = 64,输出 = 640,len = 16)。我不确定它是否正确。现在编码。这个字符串frame_byte_size=c->frame_size * 2; 返回大于 640 的 2048 字节,因此,它根本无法执行编码。如果我删除 FOR 循环并尝试直接执行编码,则它在 out_size = avcodec_encode_audio(c, outbuf, outbuf_size, &in_buffer[frame_byte_size*i]); 行中返回 0
也许有人面临这样的任务并且可以帮助我或知道一些指向示例的链接?
谢谢。
android - 任何好的(最好是免费的)G722 \ G722.2 实现?
我需要将那些手动使用的编解码器集成到 Android 中。我不想要平台 API,因为它们不支持我的 VoIP 需求。我需要 G722 和 G722.2(应该相当于 AMR-WB)。
你知道有什么好的实现吗?也许是 Android 源代码树中的那些?
algorithm - 编码/解码 AMR
我需要为 PCMtoAMR 和 AMRtoPCM 转换创建自定义类。(我没有可用于此转换的任何框架)
有谁知道任何已经完成并可以作为开源的东西。语言最好是java,但是从其他语言移植一些东西是没有问题的。
或者,如果您不知道,请指导我阅读哪些内容以便自己实施。谢谢
algorithm - 实现 AMR 编码器
我有 8k 16 位 PCM,我想实现将其转换为 AMR 的算法。我应该如何进行?
我需要某种指南或教程来解释如何将 PCM 编码为 AMR。
注意:现在我只需要能够在没有解码机制的情况下将 PCM 编码为 AMR。
algorithm - AMR 中的静默检测
如何区分 AMR 中的静音和其他音频?我想实现自定义语音活动检测机制。关于如何进行的任何想法?我需要那个算法。
objective-c - 在 iPhone 上录制 AMR 文件
我一直在使用 AVAudioRecorder 在 iPhone 上录制音频,但文件太大而无法上传到 EDGE 网络上的服务器。我发现如果我可以将音频压缩为 AMR 格式,与原始 PCM 音频文件相比,它的大小会大大减小。
我找到了一个用纯 C 编写的 AMR 编码和解码库(3GPP AMR 浮点语音编解码器)。我现在可以使用这个库将 WAVE 转换为 AMR,但是,iPhone 上的编码过程太长了。我必须等待 22 秒才能对 1 分钟的 Wave 文件进行编码。
我确实需要与编码一起录制以消除编码等待,但 AVAudioRecorder 仅通过创建新文件提供录制功能。似乎唯一的方法是使用 AudioQueue,它通过内存缓冲区提供记录。
问题是我不知道如何集成音频队列和 AMR 库这两个东西。谁能帮帮我?
android - 使用 AmrInputStream 将 PCM-16 转换为 AMR
我正在使用 AmrInputStream 进行从 PCM-16 到 AMR 的转换。AmrInputStream 的详细信息可以在这里找到http://hi-android.info/src/android/media/AmrInputStream.java.html
在谈到使用 JNI 和其他东西时,我对编程很陌生,我不知道 JNI 是什么,我认为本次讨论不需要它。上面的 AmrInputStream 显然也没有在 SDK 和 NDK 中找到,但我已经能够使用它。
我一直在互联网上搜索如何使用流,但没有找到任何示例。最后,我进行了实验,发现它与任何 InputStream 都相似。这是一个代码片段
我已经对此进行了测试并且它有效(需要将#!AMR\n 标签添加到输出文件中才能播放。)(编辑:AMR 标签必须是#!AMR\n)。
我的问题与我只设法让它在以 8000Hz 采样的 PCM-16 文件上工作有关。用于原始 PCM-16 文件的任何(更高)频率都会导致(欠采样)输出。AmrInputStream.java 文件中有一个 SAMPLES_PER_FRAME 变量,我尝试过使用它,但它似乎没有任何影响。
欢迎任何建议或相关讨论!
mpeg - 使用 jlayer/javazoom 或 vlcj 播放音频(MPEG4、RAW AMR 或 THREE GPP)
jlayer/javazoom 或 vlcj 可以播放 MPEG4、RAW AMR 或三个 GPP 吗?
我已经搜索过,我找不到如何正确使用播放器,或者它们是否支持播放这些文件格式。有没有其他播放器可以播放这些音频格式?