概述
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 上不可用。
创建Sound类的实例
你还可以创建 Sound 类的实例并将其存储在应用程序中的某个位置。
let mySound = Sound(url: fileURL) mySound.play()
创建实例有更多好处,例如可以调整音量和播放回调。
改变音量
你可以更改每个Sound实例的音量。
mySound.volume = 0.5
volume属性的值应该在 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 包管理器安装
Swift Package Manager 是一个用于管理 Swift 代码分发的工具。只需将此 repo 的 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 许可证获得许可的。