
dependencies: [
.package(url: "https://github.com/William-Weng/WWNormalizeAudioPlayer.git", .upToNextMajor(from: "1.3.0"))
]
| 函式 |
功能 |
| volume |
調整音樂播放器音量 (0.0 ~ 1.0) |
| preferredFrameRateRange |
設定更新的fps |
| 函式 |
功能 |
| play(with:targetDB:) |
播放音樂 |
| stop() |
停止播放音樂 |
| pause() |
暫停播放(保留目前進度) |
| resume() |
繼續播放(從暫停位置繼續) |
| currentTime() |
取得當前播放時間 (秒) |
| totalTime() |
取得總播放時間 (秒) |
| 函式 |
功能 |
| audioPlayer(_:callbackType:didFinishPlaying:) |
音樂播放完成 |
| audioPlayer(_:audioFile:totalTime:currentTime:) |
音樂播放進度 |
| audioPlayer(_:error) |
播放相關錯誤 |
| 函式 |
功能 |
| _systemParameter() |
檢查系統音量 + 是否靜音 |
| setCategory(:mode:policy:options:isActive:) |
設定要優化的功能 (播放 / 錄音 / …) |
import UIKit
import AVFoundation
import WWNormalizeAudioPlayer
final class ViewController: UIViewController {
private let audioPlayer = WWNormalizeAudioPlayer()
private let url = Bundle.main.url(forResource: "audio", withExtension: "mp3")!
override func viewDidLoad() {
super.viewDidLoad()
audioPlayer.delegate = self
audioPlayer.play(with: url)
}
}
extension ViewController: WWNormalizeAudioPlayer.Deleagte {
func audioPlayer(_ player: WWNormalizeAudioPlayer, callbackType: AVAudioPlayerNodeCompletionCallbackType, didFinishPlaying audioFile: AVAudioFile) {
print(callbackType)
}
func audioPlayer(_ player: WWNormalizeAudioPlayer, audioFile: AVAudioFile, totalTime: TimeInterval, currentTime: TimeInterval) {
print(currentTime / totalTime)
}
func audioPlayer(_ player: WWNormalizeAudioPlayer, error: any Error) {
print(error)
}
}