【发布时间】:2018-07-25 18:20:52
【问题描述】:
我有一个音调在 18kHz 左右的 WAV 文件。音频为 16 位 PCM 单声道。
我正在使用以下函数来播放文件:
func playSound(name: String) {
let documents = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let path = documents.appending("/").appending(name)
let url = NSURL.fileURL(withPath: path)
do {
player = try AVAudioPlayer(contentsOf: url)
guard let player = player else { return }
player.prepareToPlay()
player.play()
} catch let error {
print(error.localizedDescription)
}
}
当我在 iOS 10.2 设备上播放它时,我会听到 1000Hz 到 10000Hz 之间的一系列音调。我已经通过捕获它来分析渲染的音频,并且频率图显示存在 18kHz 的原始内容,但也存在 1000Hz 到 10000Hz 之间的音调。当我使用 VLC 或任何其他桌面音频播放器播放相同的 WAV 文件时,我听不到音调(这是预期的,因为它们位于 18kHz 左右)。我怀疑上面的代码没有正确加载数据或者播放器没有正确初始化,所以我需要一位经验丰富的 iOS 资深人士来告诉我我做错了什么。
提前谢谢你。
【问题讨论】:
标签: ios audio avaudioplayer