gpt4 book ai didi

iphone - 无法使用 AVAudioEngine 播放声音

转载 作者:行者123 更新时间:2023-11-28 13:20:26 24 4
gpt4 key购买 nike

我正在尝试使用 AVAudioEngine 播放音频文件。我看过几个例子,我只是按照相同的步骤操作。但是,没有播放声音。这是我的代码:

var audioUrl = NSURL(fileURLWithPath: "my-path-to-audio-file")
var audioEngine = AVAudioEngine()
var myPlayer = AVAudioPlayerNode()

audioEngine.attachNode(myPlayer)

var audioFile = AVAudioFile(forReading: audioUrl, error: nil)
var audioError: NSError?

audioEngine.connect(myPlayer, to: audioEngine.mainMixerNode, format: audioFile.processingFormat)

myPlayer.scheduleFile(audioFile, atTime: nil, completionHandler: nil)
audioEngine.startAndReturnError(&audioError)

myPlayer.play()

我之所以不简单地使用 AVAudioPlayer 是因为我需要稍后添加一些效果。

谁能帮我解决这个问题?谢谢!

最佳答案

我运行了你的代码,它运行良好,我会检查三件事:

  1. 确保找到你的文件,因此更改你的代码以使用 AVAudioPlayer 只是为了检查程序是否知道文件在哪里,并且它可以播放它
  2. 其次,检查你把语句放在哪里,我的示例代码如下。

    import UIKit
    import AVFoundation
    class aboutViewController: UIViewController {

    var audioUrl = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("chimes", ofType: "wav")!)
    var audioEngine = AVAudioEngine()
    var myPlayer = AVAudioPlayerNode()

    override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    audioEngine.attachNode(myPlayer)
    var audioFile = AVAudioFile(forReading: audioUrl, error: nil)
    var audioError: NSError?
    audioEngine.connect(myPlayer, to: audioEngine.mainMixerNode, format: audioFile.processingFormat)
    myPlayer.scheduleFile(audioFile, atTime: nil, completionHandler: nil)
    audioEngine.startAndReturnError(&audioError)


    }

    override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
    }

    @IBAction func testSound(sender: AnyObject) {
    myPlayer.play()
    }

希望对您有所帮助,有问题请追问!

关于iphone - 无法使用 AVAudioEngine 播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369024/

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