SwiftySound
概览
SwiftySound 是一个简单的库,让您可以轻松处理 Swift 音效。
静态方法
Sound.play(file: "dog.wav")
Sound.play(url: fileURL)
更复杂的示例
Sound.play(file: "dog", fileExtension: "wav", numberOfLoops: 2)
上面的代码将播放声音三次。
指定负数个循环次数,将声音在无限循环中播放
Sound.play(file: "dog", fileExtension: "wav", numberOfLoops: -1)
停止当前播放的声音
Sound.stopAll()
启用/禁用所有声音
Sound.enabled = true
Sound.enabled = false
“Sound.enabled”属性的值将自动持久化到“UserDefaults”,并在下次启动应用时恢复。
更改声音类别。SwiftySound 提供了一种简单的方法来更改声音类别
Sound.category = .ambient
这更改了底层共享的 AVAudioSession
实例的类别。默认值是 SoundCategory.ambient
。由于 AVAudioSession
架构,此属性在 macOS 上不可用。
创建声音类的实例
您还可以创建一个声音类实例并将其存储在应用程序中的某个位置。
let mySound = Sound(url: fileURL)
mySound.play()
创建实例具有更多好处,例如调整音量和播放回调等功能。
调整音量
您可以更改每个声音实例的音量。
mySound.volume = 0.5
音量属性的值应在0.0和1.0之间,其中1.0为最大值。
回调函数
您可以将回调函数传递给play
方法。它将在声音播放完毕后播放。对于循环播放的声音,回调函数将在最后一个循环播放完毕后调用一次。
mySound.play { completed in
print("completed: \(completed)")
}
功能
- 播放单个声音
- 循环播放
- 无限循环
- 同时播放相同声音的多个实例
- 使用全局静态方法停止所有声音
- 暂停和恢复播放
- 调整声音音量
- 回调函数
- 全局静态变量,用于启用/禁用所有声音
需求
- Swift 5
- Xcode 10.2或更高版本
- iOS 8.0或更高版本
- tvOS 9.0或更高版本
- macOS 10.9或更高版本
对于支持Xcode 8和Swift 3的版本,请使用SwiftySound版本0.7.0
。对于支持Xcode 9和Swift 4的版本,请使用SwiftySound版本1.0.0
。
安装
使用 CocoaPods 安装
CocoaPods 是一种依赖管理器,它可以自动简化项目中使用第三方库的过程。有关详细信息,请参阅 入门 部分。
Podfile
platform :ios, '8.0'
use_frameworks!
pod 'SwiftySound'
使用 Carthage 安装
Carthage 是一个用于 Swift 和 Objective-C 的小型依赖管理器。它使用 CocoaTouch 模块,比 CocoaPods 侵入性小。
要用 Carthage 安装,请按照 Carthage 上的说明操作。
Cartfile
github "adamcichy/SwiftySound"
使用 Swift Package Manager 安装
Swift Package Manager 是用于管理 Swift 代码分发的一种工具。只需将此存储库的 URL 添加到您的 Package.swift
文件中作为依赖项。
import PackageDescription
let package = Package(
name: "YourPackage",
dependencies: [
.Package(url: "https://github.com/adamcichy/SwiftySound.git",
majorVersion: 0)
]
)
然后运行 swift build
并等待 SPM 安装 SwiftySound。
手动安装
将Sound.swift
文件拖放到您的项目中,链接到AVFoundation.framework
即可。
许可证
SwiftySound遵守MIT许可证。