iOS AVPlayer Play Audio Pitch
iOS
Swift
Pitch
AVPlayer
AVAudioSession
AudioSession
Audio
AVPlayerItem
這篇沒有要介紹怎樣播放,怎樣播放可以看先前的這篇 iOS AVPlayer Play Audio
這篇是要說明一下,當使用 AVPlayer 播放聲音,不是一倍速的時候,聲音會有嚴重回音的問題
蘋果官方是有 api 可以解決這個問題的
在 AVPlayItem 底下是有一個變數可以設定要使用哪種演算法來處理聲音的變化
var audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm { get set }
The processing algorithm used to manage audio pitch for scaled audio edits.
AVAudioTimePitchAlgorithm 官方連結
這一個 Struct 定義了三個 static 以下是官網的說明
static let spectral: AVAudioTimePitchAlgorithm
A highest-quality time pitch algorithm that’s suitable for music.
static let timeDomain: AVAudioTimePitchAlgorithm
A modest quality time pitch algorithm that’s suitable for voice.
static let varispeed: AVAudioTimePitchAlgorithm
A high-quality time pitch algorithm that doesn’t perform pitch correction.
如果你播放的是音樂的話,請選擇 spectral
如果你播放的是人聲的話,請選擇 timeDomain
打完 搞定 收工