- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用音频单元录制一些 PCM 音频。在回调中,当我有 30 秒的音频时,我想将一个 8000Hz AAC 编码的文件写入磁盘,比特率为 12kb/s。
这是我使用的 AudioStreamBasicDescription,但我的输出最终为 40 kb/s。我的问题是,我可以更改一些参数以降低比特率吗?如果可以,我应该修改哪些参数?
// specify the M4A
AudioStreamBasicDescription outputFormat = {0};
outputFormat.mSampleRate = 8000.0;
outputFormat.mFormatID = kAudioFormatMPEG4AAC;
outputFormat.mFormatFlags = kMPEG4Object_AAC_Main;
outputFormat.mChannelsPerFrame = 1;
最佳答案
请参阅 AudioStreamBasicDescription 中的字段 mBitsPerChannel
。
The number of bits for one audio sample. For example, for linear PCM audio using the kAudioFormatFlagsCanonical format flags, calculate the value for this field as follows:
mBitsPerChannel = 8 * sizeof (AudioSampleType);
Set this field to 0 for compressed formats.
关于ios - 如何在 coreaudio 中为 AudioStreamBasicDescription 指定比特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780397/
我正在使用 ffmpeg 从 .mov 文件中获取音频。查看我的设置,我没有转换我正在生成的音频缓冲区的采样率,因此这不太可能解决我遇到的问题。无论我在内置输出上设置的采样率如何,我的 44.1 kH
我正在使用 AVAssetReaderAudioMixOutput 读取音频文件。因此,我将获得通常包含 2*8192 个样本的 AudioBuffer 对象。现在我想对 2*44100 个样本进行一
最近我遇到了下一个问题。我使用 CoreAudio AudioUnit (RemoteI/O) 在 iOS 应用程序中播放/录制声音流。 进入音频单元的声音流是 2 channel LPCM,16 位
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
首先,一些背景信息:我正在编写一个 MacOS/X 应用程序,它使用 CoreAudio 从 CoreAudio 设备的输入流接收音频信号,对音频进行一些实时处理,然后将其发送回该 CoreAudio
我正在制作一个基于 CoreAudio 的 FLAC 播放器,遇到了一个与 AudioQueues 相关的棘手问题。我正在像这样初始化我的东西(以下划线开头的变量是实例变量): _flacDe
我目前正在尝试获取iOS应用程序的传出音频信号,以便将其发送到Audiobus。我需要传出的AudioBufferLists才能路由它们。我正在使用OpenAL进行音频播放。 最好的情况是,我什至可以
我在使用 MixerUnit 和 OutputUnit 从 AUGraph 获取音频时遇到问题。我构建了一个混合 2 个音频文件的图形。这是我创建图表的代码。我没有任何错误。 NSLog(@"init
我根本无法弄清楚这个问题。下面代码中的音频播放速度非常快且断断续续。 SO 上还有一个类似的问题,但它是针对可变比特率的,不适用。 其他站点上的一些可能的答案(直接设置每个数据包的帧数)不再起作用并给
我对音频编程还很陌生,但我知道这一定是可行的。 (这是一个 iOS/iPhone 相关的问题)。 我如何在不改变音高的情况下改变加载的音频文件的速度,然后播放它? 我想我需要深入研究 CoreAudi
我的 C++ 技能很浅,但我设法完成了工作 - 直到我碰壁。当前的墙: 我正在使用 CoreAudio 做一些 Midi 播放。我有很多工作,但我坚持做一件简单的事情。 (我不知道正确的 C++ 术语
我有一个 iPhone 应用程序正在录制音频,然后通过网络广播它。为了响应来自远端的“停止”,它排队通知以停止记录。唉,当它到达 AudioQueueStop 调用时,应用程序只是挂起(即 Stop
我需要将输出采样率从 44.1 更改为 32.0,但它总是会引发错误,Out: AudioUnitSetProperty-SF=\217\325\377\377, -10865。我不知道为什么它会让我
我在iPhone上遇到AudioTimeStamps的问题。当我在模拟器中运行应用程序时,AudioTimeStamp.mHostTime似乎以纳秒(1,000,000,000秒)为单位,而在我的设备
我有一个基于 CoreAudio 的 MacOS/X 程序,它允许用户选择一个输入音频设备和一个输出音频设备,并且(如果用户没有为输入和输出选择相同的设备)我的程序创建了一个私有(private)的聚
我有一个关于 CoreAudio 和 AVFoundation 的问题。 我使用 CoreAudio 和 AUGraph 和 AudioUnit 构建了一个专业音频应用程序。 我想切换到看起来非常棒的
我对macOS编程比较陌生,但对一般编程却不是。我宁愿使用(Objective)C / C++而不是Swift。我需要打开一个特定的音频设备进行输出,并将音频数据的实时流从网络传输到输出设备。该设备具
在我看来,CoreAudio 在混合到单个 channel 时会将声波添加到一起。我的程序将发出合成声音。我知道每种声音的振幅。当我一起玩它们时,我应该将它们加在一起并乘以合成波以保持在范围内吗?我可
我正在构建一个 CoreAudio 应用程序,我需要在其中处理来自麦克风的原始输入样本。我使用两个线程,其中一个线程从麦克风输入中生成样本,另一个线程使用样本。这些线程共享一个(工作良好的)循环缓冲区
我试过下面的代码,但在执行它时给出了'fmt?'错误告诉我“此文件类型不支持数据格式”。不幸的是,我无法在任何地方找到解释如果要写入 AIFF 应该如何设置 AudioStreamBasicDescr
我是一名优秀的程序员,十分优秀!