一个用于 iOS 和 OS X 的 Cocoa System Sound Services 的 fancy Objective-C 封装。
这个库是一个轻量级组件,用于在您的应用程序中播放声音效果。有关您的音频需求,请参阅 iOS 音频的最佳实践。
tl;dr
当您的唯一音频需求是播放警报和用户界面声音效果时,请使用 Core Audio 的系统声音服务。
您的声音文件必须
- 不超过 30 秒的时长
- 以线性 PCM 或 IMA4(IMA/ADPCM)格式
- 打包在
.caf
、.aif
或.wav
文件中
如果这不符合您的需求,那么这个库不适合您!请参阅AVAudioPlayer。
NSUserDefaults
集成,以在您的应用程序中全局切换声音效果SystemSoundID
实例)并在内存警告时清除@import JSQSystemSoundPlayer;
[[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:@"mySoundFile"
fileExtension:kJSQSystemSoundTypeAIF
completion:^{
// completion block code
}];
为您提供了文件扩展名常量
kJSQSystemSoundTypeCAF
kJSQSystemSoundTypeAIF
kJSQSystemSoundTypeAIFF
kJSQSystemSoundTypeWAV
需要在您的应用设置中切换声音效果的开/关吗?JSQSystemSoundPlayer
也能做到!在播放声音效果之前,无需检查保存的设置([JSQSystemSoundPlayer sharedPlayer].on
)。只需像上面示例中一样播放一个声音即可。JSQSystemSoundPlayer
会尊重之前保存的任何设置。
[[JSQSystemSoundPlayer sharedPlayer] toggleSoundPlayerOn:YES];
需要从特定的包中加载音频资源吗?JSQSystemSoundPlayer
默认使用主包,但您可以指定另一个。
注意:对于每个播放的声音,JSQSystemSoundPlayer
将始终搜索最后一个指定的包。如果您要从多个包中播放声音效果,您需要在播放每个声音之前指定包。
[JSQSystemSoundPlayer sharedPlayer].bundle = [NSBundle mainBundle];
包含的示例应用Example.xcodeproj
,练习了该框架的全部功能。包括iOS和OS X的应用。
阅读文档。由jazzy生成。由GitHub Pages托管。有关gh-pages
分支的更多信息。
请遵循这些可爱的贡献指南。
由@jesse_squires创建和维护。
JSQSystemSoundPlayer
在MIT许可下发布。有关详细信息,请参阅LICENSE
。
版权所有 © 2013-至今 Jesse Squires。
请提供归属说明,我们将非常感谢。