使用音频队列服务的示例
我正在寻找使用音频队列服务的示例。
我想使用数学方程创建声音,然后听到它。
I am seeking an example of using Audio Queue Services.
I would like to create a sound using a mathematical equation and then hear it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是我从函数生成声音的代码。我假设您知道如何使用 AudioQueue 服务、设置 AudioSession 以及正确启动和停止音频输出队列。
这是设置和启动输出 AudioQueue 的片段:
这是生成音调的部分:
需要注意的是,您的回调将在非主线程上调用,因此您必须使用锁、互斥锁来练习线程安全,或其他技术。
Here's my code for generating sound from a function. I'm assuming you know how to use AudioQueue services, set up an AudioSession, and properly start and stop an audio output queue.
Here's a snippet for setting up and starting an output AudioQueue:
Here's the part that generates the tone:
Something to watch out for is that your callback will be called on a non-main thread, so you have to practice thread safety with locks, mutexs, or other techniques.
这是使用 @lucius 相同示例的 C# 的版本
这是音调生成器:
您还需要这些定义:
This is a version using C# of the same sample from @lucius
This is the tone generator:
You also want these definitions:
高级:使用 AVAudioPlayer https://github.com/hollance/AVBufferPlayer
中级:音频队列 < a href="https://web.archive.org/web/20120908120559/http://trailsinthesand.com/exploring-iphone-audio-part-1/" rel="nofollow noreferrer">http://trailsinthesand。 com/exploring-iphone-audio-part-1/(archive.org 版本) 让您顺利进行。
低级别:或者,您可以降低级别并使用音频单元进行操作: http://cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html
High level: use AVAudioPlayer https://github.com/hollance/AVBufferPlayer
Med level: audio queues http://trailsinthesand.com/exploring-iphone-audio-part-1/ (archive.org version) gets you going nicely.
Low level: alternatively, you can drop down a level and do it with audio units: http://cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html