【发布时间】:2010-10-15 03:37:24
【问题描述】:
我正在开发一个简单的 iPhone 声音应用程序。如何在不中断的情况下连续播放 1 个声音片段?
【问题讨论】:
标签: ios objective-c iphone xcode
我正在开发一个简单的 iPhone 声音应用程序。如何在不中断的情况下连续播放 1 个声音片段?
【问题讨论】:
标签: ios objective-c iphone xcode
您使用的是 SystemSounds 还是 AudioQueues?如果是 SystemSounds(用于短声音),则需要有一个线程以特定时间间隔播放它们,因为无法知道声音何时结束。
对于 AudioQueues,当声音的每个部分完成时您都会收到回调,因此在第一个声音结束时开始另一个声音(例如背景音乐)是一件相当容易的事情。
您并没有真正说明您要完成的工作,因此很难给出具体的答案。您是否希望将声音文件拼接在一起?播放背景音乐?用户射击 3 次时发出 3 次激光束声音?等等。
【讨论】:
您可以拥有一个包含所有必须播放的文件名的数组。 目标是在当前歌曲几乎在文件末尾(可能距离末尾 0.5 秒)时开始播放下一首歌曲。
您需要一个线程控制器来管理应该播放的内容。他知道它正在播放什么以及接下来应该播放什么。
播放线程可能会在快结束时发送一条消息,然后您的控制器分配一个新的播放器线程并开始播放,依此类推...
希望对您有所帮助。
蒂埃里
【讨论】: