JSQSystemSoundPlayer 5.0.0

JSQSystemSoundPlayer 5.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布日期最后发布2018年1月

Jesse Squires 维护。



一个用于 iOS 和 OS X 的 Cocoa System Sound Services 的 fancy Objective-C 封装。

关于

这个库是一个轻量级组件,用于在您的应用程序中播放声音效果。有关您的音频需求,请参阅 iOS 音频的最佳实践

tl;dr

当您的唯一音频需求是播放警报和用户界面声音效果时,请使用 Core Audio 的系统声音服务。

您的声音文件必须

  • 不超过 30 秒的时长
  • 以线性 PCM 或 IMA4(IMA/ADPCM)格式
  • 打包在 .caf.aif.wav 文件中

如果这不符合您的需求,那么这个库不适合您!请参阅AVAudioPlayer

iOS 截图     OS X 截图

功能

  • 使用一行代码播放声音效果和警报声音
  • 播放振动(如果设备上有)
  • 基于块的完成处理程序
  • NSUserDefaults 集成,以在您的应用程序中全局切换声音效果
  • 高效的内存管理
  • 缓存声音(SystemSoundID 实例)并在内存警告时清除
  • 支持 Swift

要求

  • iOS 6.0+
  • OS X 10.7+
  • tvOS 9.0+
  • ARC

安装

入门

@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创建和维护。

许可

JSQSystemSoundPlayerMIT许可下发布。有关详细信息,请参阅LICENSE

版权所有 © 2013-至今 Jesse Squires。

请提供归属说明,我们将非常感谢。