gpt4 book ai didi

swift - AVAudioPlayer 没有快速播放。如何修复它?

转载 作者:行者123 更新时间:2023-11-30 11:22:41 29 4
gpt4 key购买 nike

在我的应用程序中,我想将 AVAudioPlayer 集成到我的应用程序中。但我什么也不能在这里。这是我的代码:

import UIKit
import AVFoundation

class NotenAnsicht: UIViewController{


var PlaybackPlayer:AVAudioPlayer = AVAudioPlayer()


override func viewDidLoad() {
super.viewDidLoad()
PlaybackAudioAufsetzen()
}




func PlaybackAudioAufsetzen(){

do{

let audioPath = Bundle.main.path(forResource: "song", ofType: "mp3")
try PlaybackPlayer = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
print("Song set")
}
catch{
print("there was an Error")

}

}




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



@objc func PlaybayStarten(sender:UIButton){
PlaybackPlayer.play()
PlaybackPlayer.volume = 1
print(PlaybackPlayer.isPlaying)
print("Song should play")
}


}

我不知道问题出在哪里。所有函数都被正确调用。并且音频播放器没有在本地定义。在 PlaybackPlayer.play() 之后,PlaybackPlayer.isPlaying 返回 true。我只是不能在这里做任何事情。

你知道问题出在哪里吗?

最佳答案

在设置audioPath之前,在do block 中设置尝试AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)尝试AVAudioSession.sharedInstance().setActive(true)

你的代码应该是这样的。

func PlaybackAudioAufsetzen(){

do{

let audioPath = Bundle.main.path(forResource: "song", ofType: "mp3")

/// this code will make this app ready to takeover the device audio
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)

try PlaybackPlayer = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
print("Song set")
}
catch let error {
print(error.localizedDescription)
}

}

关于swift - AVAudioPlayer 没有快速播放。如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113937/

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