gpt4 book ai didi

iOS Xcode : AVAudioPlayer is not playing WAV file correctly

转载 作者:行者123 更新时间:2023-12-02 23:39:02 25 4
gpt4 key购买 nike

我有一个音调在 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 资深人士来告诉我我做错了什么。

先感谢您。

最佳答案

检查以下代码,它可能对您有用

import UIKit
import AVFoundation

class ViewController: UIViewController {

var audioPlayer = AVAudioPlayer()

override func viewDidLoad() {
super.viewDidLoad()

var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("button-09", ofType: "wav"))
println(alertSound)

// Removed deprecated use of AVAudioSessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)

var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
}

}

关于iOS Xcode : AVAudioPlayer is not playing WAV file correctly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com