问题标签 [audioqueueservices]

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 投票
3 回答
5743 浏览

cocoa - 如何在 AudioQueue 中检查当前时间和持续时间

如何获取音频队列中音乐的总时长。我在用

AudioQueueGetCurrentTime(mQueue, timeLine, &timeStamp, NULL); 对于获取当前播放时间,它给出了一些较大的值是否有效以及如何获取音乐文件的持续时间。

0 投票
1 回答
364 浏览

iphone - 以恒定音量播放 iPhone 音频

我正在使用 AudioQueue 服务在我的应用程序中播放音频(从 Speak Here 借来的 AQPlayer),我想知道是否可以以恒定音量播放音频,而不管 iphone 硬件音量如何。

Apple 的 phone.app 键盘就是一个例子,无论您的硬件音量如何,音调都以相同的音量播放。

0 投票
1 回答
617 浏览

iphone - iPad 上的 AudioQueueStart() 问题

我在使用音频队列服务时遇到以下问题,并希望其他人听起来很熟悉。

首先我执行:

AudioQueueAddPropertyListener(audioQueue, kAudioQueueProperty_IsRunning, MyAudioQueueIsRunningCallback, self);

然后我执行:

AudioQueueStart(audioQueue, NULL);

两个调用都没有返回错误,但MyAudioQueueIsRunningCallback永远不会被调用。我什至可以打电话AudioQueueGetProperty检查该属性kAudioQueueProperty_IsRunning,该检查确认该属性为非零。

我显然留下了很多代码,但我认为这些是必需品。最奇怪的部分是代码在 iPad 3.2.2 上在为 Debug 而不是 Release 编译时可以正常工作。在为 iPhone 4.0 和 iPod 4.0 以及 xcode 中的两个模拟器编译时,它也可以正常工作。

如果有什么不同,我使用的代码就是从这个文件派生的。

0 投票
3 回答
1185 浏览

cocoa - 类似 NSSound 的框架,有效,但不需要处理陡峭的学习曲线

我的一个应用程序使用 NSSound 播放 10 秒 AAC 编码的预先录制的白噪声循环,我几乎已经完成了白噪声功能的工作。

应该是所有需要的,对吧?

它就像一个魅力,但我注意到在声音文件完成和重新启动之间有一个可听见的停顿......一种“扑通”的声音。这在循环原始声音文件时不存在,经过一个小时左右的时间试图弄清楚这一点,我得出的结论是 NSSound 很烂,并且可听见的暂停是私有后台线程同步的产物播放声音。它似乎以某种方式依赖于主运行循环,这会导致声音结束和重新开始之间的可听间隙。

我对声音知之甚少,这是一个非常次要的功能,所以我不想深入 CoreAudio 只是为了播放循环 10 秒的声音片段.. 所以我去追求一个不错的选择,但似乎什么都没有非常适合:

  • Core Audio:完全矫枉过正,但至少是标准框架
  • AudioQueue:复杂,带有 C++ 示例代码!?
  • MusicKit/ SndKit:也是巨大的学习曲线,基于大量开源的东西等。

我看到 iOS 4 上的 AVFoundation 将是播放声音的好方法,但这只计划用于 Mac OS X 10.7..

在 Mac OS X 10.5+ 上是否有任何易于使用的可靠循环声音的方法?

是否有任何用于 AudioQueue 或 Core Audio 的示例代码可以减轻在 Objective-C 应用程序中使用它们的痛苦?

任何帮助将不胜感激..

最好的祝福,

坦率

0 投票
1 回答
2379 浏览

iphone - 音频队列服务:更改输出设备

在 NSSound 被证明无法胜任这项任务之后,我在上周计划外进行了一次深入 Macintosh 音响系统的深入探索。我终于用音频队列服务播放了我的文件,现在只剩下一件小事要做了:切换输出设备。

不幸的是,似乎我做错了什么,或者您应该通过的设备 UID CFStringRef 不是 Core Audio 给出的那个..

下面的代码检索标准输出设备(默认情况下音频队列将播放到该设备,但它拒绝更改设备:

如果队列正在播放,我会收到错误 kAudioQueueErr_InvalidRunState,告诉我在队列正在播放时无法设置此属性。如果队列没有播放,我会得到 -50 参数错误。

我的指针有问题吗?还是某处有不同的设备uid!?

任何帮助将不胜感激。

0 投票
2 回答
1061 浏览

iphone - 使用 libmms 和音频队列

我一直在玩 libmms 和 iPhone,我已经设法连接并从 mms 流中读取,但在此之后我不知道如何将数据从 mmsx_read 发送到 AudioQueue,我假设它将不得不使用音频队列服务中的 AudioQueueNewOutput 方法...我花了很多时间搜索,但找不到任何示例...

我还查看了 WunderRadio 的代码,但发布的代码中只有头文件。

我对 objc 或 c 也不是很熟悉,我都涉猎过,但不认为自己是专家,所以欢迎任何指针/建议。

0 投票
1 回答
1095 浏览

iphone - 音频队列服务 - 录音

我正在尝试录制使用 matt Gallagher 的音频类流式传输的音频流。

到目前为止,我已经搜索了网络,因为我并不真正了解音频队列服务。我对 iphone 编程很陌生,音频队列服务确实是 iphone 编程的一个复杂部分。

我被困在这部分代码上:

请问这个应该放在哪里?因为当我在 init 中添加它时,它会使程序崩溃。

在尝试了此页面上给出的步骤后,我没有成功。它不会出错,也不会产生任何文件。我希望它能够生成 .aiff 文件。

请帮忙...

0 投票
2 回答
1125 浏览

iphone - AudioQueueServices - AudioQueueNewInput

有人能告诉我这里的“this”(第三个参数)是什么意思吗?此外,除了“this”之外,还接受了哪些值?我是iphone编程的新手...

0 投票
4 回答
6847 浏览

iphone - 音频处理:播放音量

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

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

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

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

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

谢谢


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

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


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

0 投票
1 回答
1659 浏览

iphone - Record and play using Audio Queues in iPhone

Can someone explain how we can use Audio Queue services to record sound from Microphone and play it live? Explain how we can achieve it. If possible give code snippets.