问题标签 [audiotoolbox]

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.

0 投票
1 回答
571 浏览

iphone - iPhone 音频框架

AVFoundation 框架是否在内部与 AudioToolbox 框架对话?因为 AudioToolbox 拥有所有这些服务

  1. 音频转换器服务
  2. 音频文件服务
  3. 音频文件流服务
  4. 音频格式服务
  5. 音频队列服务
  6. 音频会话服务
  7. 音频单元处理图服务
  8. 扩展音频文件服务
  9. 系统声音服务

如果 incase , AVFoundation 框架想要转换音频文件,它是怎么做的?

谢谢你。

0 投票
3 回答
1913 浏览

iphone - 为什么此音频单元 RemoteIO 初始化在 iPhone 上有效,但在模拟器中无效?

我正在使用音频单元服务来设置输出渲染回调,以便将合成音频混合在一起。我拥有的代码似乎可以在我拥有的设备(iPod Touch、iPhone 3G 和 iPad)上完美运行,但无法在模拟器上运行。

在模拟器上,AudioUnitInitialise 函数失败并返回值 -10851(根据 Apple 文档的 kAudioUnitErr_InvalidPropertyValue)。

这是我的初始化代码..有比我在这里看到的任何不正确的 API 更有经验的人吗?

我的 XCode 版本是 3.2.2(64 位) 我的模拟器版本是 3.2(虽然同样的问题出现在 3.1.3 Debug 或 Release 中)

谢谢,我很感激!

0 投票
2 回答
386 浏览

iphone - 将代码转换为函数

大家好,我需要将此代码转换为具有 2 个参数的函数,在这种情况下,第一个参数是新闻,第二个参数是aif你可以这样做吗?

}

0 投票
1 回答
333 浏览

iphone - 最佳音频框架

在那个应用程序中,我录制了一个人的声音,将其存储在 NSTemporaryDirectory() 的文件中,然后播放。到目前为止,我已经使用了 AVAudioPlayer 和 AVAudioRecorder,但是当我同时录制它一段时间后,它会播放我不知道为什么的声音?还有更多关于我的应用程序在 iPhone 4 中崩溃的问题。

现在您能否建议我使用哪个框架来记录音高并可以播放,最重要的是可以在所有 iPhone 上使用。1. OpenAL 2. 核心音频 3. AudioToobox

0 投票
1 回答
504 浏览

iphone - 将 remoteio 与 AudioServicesPlaySystemSound 一起使用

我们正在尝试将 remoteio 与 AudioServicesPlaySystemSound 功能一起用于音频录制以进行音频播放。问题是,每当 remoteio 运行时,播放音量都会显着下降。似乎在幕后进行了一些最终的混合,但我们不知道如何改变这种行为。

remoteio 的实现基于休闲博客 http://atastypixel.com/blog/using-remoteio-audio-unit/

对于音频播放,我们只使用这样的代码

非常感谢您的帮助

0 投票
1 回答
1099 浏览

objective-c - 我可以使用 Audio Toolbox 播放循环吗?

在我的应用程序中,我使用 AudioToolbox 框架,我需要播放循环可以吗?

这是 AVAudioplayer 代码,同时进行 2 次触摸时运行缓慢

在视图didload

在 IBAction 中通过 this 调用它:

注意:我保留了所有按钮和 AVAudioPlayer

0 投票
4 回答
6847 浏览

iphone - 音频处理:播放音量

我想从应用程序包中读取声音文件,复制它,以最大音量播放(增益值或峰值功率,我不确定它的技术名称),然后将其作为另一个文件写入包再次。

我做了复制和写作部分。结果文件与输入文件相同。我在 AudioToolbox 框架中使用 AudioFile 服务的 AudioFileReadBytes() 和 AudioFileWriteBytes() 函数来做到这一点。

所以,我有输入文件的字节及其音频数据格式(通过使用带有 kAudioFilePropertyDataFormat 的 AudioFileGetProperty()),但我无法在这些文件中找到一个变量来播放原始文件的最大音量级别。

为了阐明我的目的,我正在尝试制作另一个音量级别相对于原始文件增加或减少的声音文件,因此我不关心用户或 iOS 设置的系统音量级别。

这可能与我提到的框架有关吗?如果没有,是否有任何替代建议?

谢谢


编辑:通过 Sam 关于一些音频基础知识的回答,我决定用另一种选择来扩展这个问题。

我可以使用 AudioQueue 服务将现有的声音文件(在捆绑包中)录制到另一个文件中,并在录制阶段以音量级别(在框架的帮助下)播放吗?


更新:这是我读取输入文件和写入输出的方式。下面的代码降低了“一些”幅度值的声级,但噪音很大。有趣的是,如果我选择 0.5 作为振幅值,它会增加而不是降低声级,但是当我使用 0.1 作为振幅值时,它会降低声音。这两种情况都涉及令人不安的噪音。我认为这就是 Art 谈论规范化的原因,但我不知道规范化。

0 投票
2 回答
5963 浏览

ipad - AudioServicesPlaySystemSound 在 iPad 设备上不起作用

我正处于开发我的第一个 iPad 应用程序的早期阶段,为了简单起见,到目前为止我一直在使用 AudioServicesPlaySystemSound 和相关的函数来播放声音。我的代码基于 Apple 节拍器示例中的 SoundEffect 类。

具体症状是我在模拟器中能听到声音,但在设备上听不到,虽然我已经验证在设备上的其他应用程序中我能听到声音。AudioServicesCreateSystemSoundID 正在返回有效的声音标识符,因此它不像具有不同大小写的声音文件的名称那么简单,即“sound.mp3”与“Sound.mp3”。

我认识到出于不相关的原因我可能需要切换到其他库,例如 OpenAL,但我想知道这里发生了什么。有没有人有什么建议?有没有我可以调用的函数来获取 OSStatus 值或什么?

* BUMP——过去几周我一直在从事其他项目,但我现在又回来了,我真的很感谢你的回答。谢谢。

0 投票
1 回答
657 浏览

iphone - ExtAudioFileSeek 和 ExtAudioFileWrite 在同一个文件上一起写

我有一种情况,我可以通过从轨道末尾获取一些操纵缓冲区并将它们写入输出文件的开头来保存音频的后处理过程。

我原本以为我可以通过使用 重置写指针来做到这一点ExtAudioFileSeek,当我在文档中看到这一行时,我正要实现它

现在我知道我可以关闭文件进行写入然后重新打开它,但过程比这要复杂一些。我正在做的部分操作是从我正在写入的文件中的缓冲区中读取。整个过程如下所示:

  1. 从读取文件末尾读取缓冲区
  2. 从写入文件的开头读取缓冲区
  3. 处理缓冲区
  4. 将缓冲区写回写入文件的开头,覆盖我在步骤 2 中读取的缓冲区

从逻辑上讲,这可以在 1 遍中完成,没有问题。以编程方式,我怎样才能在不破坏数据、效率降低(与我的目标相反)或潜在地破坏宇宙的情况下实现相同的目标?

0 投票
2 回答
925 浏览

iphone - 使用扩展音频文件服务将两个文件混合在一起

我正在使用音频单元进行一些自定义音频后处理。我有两个文件要合并在一起(下面的链接),但是在输出中出现了一些奇怪的噪音。我究竟做错了什么?

我已经验证在此步骤之前,2 个文件 (workTrack1workTrack2) 处于正确状态并且听起来不错。在此过程中也不会出现任何错误。

缓冲区处理代码

混音代码


假设

  • mixAudioFile1Ref总是长于mixAudioFile2Ref
  • mixAudioFile2Ref字节用完后,outputAudioFileRef听起来应该与mixAudioFile2Ref

预期的声音应该在开始时将淡入与淡出混合,以在轨道循环时产生自交叉淡入淡出。请听输出,看看代码,让我知道我哪里出错了。

源音http ://cl.ly/2g2F2A3k1r3S36210V23
产生的音http ://cl.ly/3q2w3S3Y0x0M3i2a1W3v