- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经成功地使用 MediaCodec 加入了视频文件的音轨。如果两个音轨的 channel 数和采样率相同,那么这样做就没有问题。
(出于某种原因,OMX.SEC.aac.dec
如果原始音轨为 22050 Hz,则始终输出 44100 Hz 2 声道音频,如果原始音轨为 48000 Hz,则输出 2 声道音频24000 赫兹。)
当我尝试在 22050 Hz 音轨之后附加 24000 Hz 音轨时出现问题。假设我想输出一个由上述两个音轨组成的 22050 Hz 音轨,我将不得不对 24000 Hz 音轨进行重新采样。
我试过这个:
private byte[] minorDownsamplingFrom48kTo44k(byte[] origByteArray)
{
int origLength = origByteArray.length;
int moddedLength = origLength * 147/160;
int delta = origLength - moddedLength;
byte[] resultByteArray = new byte[moddedLength];
int arrayIndex = 0;
for(int i = 0; i < origLength; i+=11)
{
for(int j = i; j < i+10; j++)
{
resultByteArray[arrayIndex] = origByteArray[j];
arrayIndex++;
}
}
return resultByteArray;
}
它返回一个 3700 多个字节的字节数组和编码后的正确音频......在非常响亮的加扰声音后面。
我的问题:
最佳答案
主要问题是当您应该跳过样本时,您只是跳过了字节。
每个样本都是 16 位,所以两个字节。如果音频是立体声,则每个样本有四个字节。您必须始终跳过那么多字节,否则您的样本将完全混淆。
使用相同的比率 (10/11),您可以使用 40/44 来始终跳过完整的四字节样本并保持样本正确。
至于为什么生成的视频以不同的速度播放,那是完全不同的事情。
关于android - 将 Android 中的音频从 48kHz 重采样到 44.1kHz,反之亦然 - 纯 Java 还是 OpenSL ES?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041519/
我想做fly应用喜欢this ,我知道我必须进行编码,使其产生超声波,使苍蝇远离一定距离。而且是人耳听不到的声音。 我对 iPhone 中的超声波一无所知。谁能指导我。 提前致谢。 最佳答案 下载超声
我正在学习实现 Goertzel 的算法来从录制的波形文件中检测 DTMF 音调。我从 here 中用 python 实现了一个.它支持以 8 kHz 和 16 kHz 采样的音频。我想扩展它以支持以
我正在用C编写一个小型应用程序,该应用程序从基于云的语音引擎接收mp3音频数据,并以16 khz采样率将其转换为pcm数据(wav格式)。我正在使用libmad解码mp3数据,但没有找到将其从24 k
我想用我的iPhone检测视频中的音频频率。该音调的频率应在17 kHz到20 kHz之间,我发现了一个sample,但是当我在Mac上的模拟器上尝试使用它时,它可以工作,当我将其放在iPhone上以
我尝试将 PCM 音频从 16kHz 转换为 8kHz,只是采样率,没有格式变化,流程看起来很简单,但我一直通过调用 AudioConverterFillComplexBuffermBuffers[0
我有一个 48 kHz PCM 流,并希望将其流式传输到 44.1 kHz 兼容播放器(Apple 的 AirPlay)。 有人知道这是否“有效,因为一些字节会丢失”,或者我是否必须在之前进行转换/下
我最近使用了jRecorder jQuery,但发现它以44 khz记录。我需要将创建的.wav文件转换为8或11 khz,或者找到一个要以44 khz录制的新插件。 有谁知道一个好的插件,或者知道如
我有一个wav文件,每个音频编辑器都告诉我这是一个48kHz,16位的wav文件。 但是,当我右键单击wav文件并打开Windows文件属性对话框时,看到“位速率:1152 kBit / s”。 “位
我刚刚连接了 electret microphone到 Arduino,我想在 1 kHz 的范围内进行采样和 4kHz。 我知道这仅限于机器代码和 ADC ,所以我试图保留 sketch简单。 是
我正在尝试使用 MPU-6000 加速度计和 Raspberry Pi Zero W 来记录挡风玻璃中的振动数据。我对 Python 还很陌生,所以请耐心等待。 我编写了一个 python2 脚本,用
我正在开发一个以 48 kHz 采样率运行的 VoIP 应用程序。由于它使用内部使用 48 kHz 的 Opus 作为其编解码器,并且大多数当前的 Android 硬件本身以 48 kHz 运行,因此
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我需要使用 Python 3 为一些生物声学实验捕获 192 kHz 音频。我有硬件、Sound Devices USBPre 2 声卡、具有高达 100 kHz 良好频率响应曲线的麦克风,并且我已启
开始之前:是的,我知道答案是 architecture dependent - 我只对大致数字感兴趣,就数量级而言。 linux内核对中断频率有上限吗? 背景:我想在 Linux 中连接相机模块。该模
我有这个脚本,用于将目录中的所有 wav 文件转换为 44100 hz 的 16 位。但是,它也会转换已经具有这些属性的文件。如何过滤文件以便只转换需要转换的文件? 我正在使用 ubuntu 开发 W
我正在使用带有 microSD 卡的 STM32F4 微 Controller 。我正在通过 DMA 捕获模拟数据。 我使用双缓冲区,一次获取 1280 (10*128 - 10 FFT) 个样本。当
我正在使用 RecorderJS 来录制来自用户的麦克风流。默认导出为 44.1 kHz、16 位的 WAV 文件。无论如何我可以将其降采样到 11kHz 或 16kHz 而不会听起来很奇怪吗? 无论
我尝试在 FFmpeg 中捕获 48 kHz 的音频,代码如下: AVInputFormat* ifmt = av_find_input_format("dshow"); CHECK_POI
我想将音频文件解码为原始 PCM 数据,以将其流式传输到本地网络中的播放设备。我使用新的 MediaExtractor和 MediaCodec API 级别 16 引入的类。该设备要求 PCM 数据为
最近新买了一个USB示波器,想测avr timer0的频率。有一个 12 MHz 晶体振荡器连接到 atmega,timer0 设置为没有预分频器的快速 PWM 模式。这是代码: #include
我是一名优秀的程序员,十分优秀!