【发布时间】:2020-02-03 13:41:34
【问题描述】:
我已经构建了一个随机数生成器,我希望它在按下按钮时播放声音。 Xcode 没有给我任何错误,当我模拟我的应用程序时,它生成数字没问题,但没有声音。我的声音在声音文件夹中。
这是我的代码。
import UIKit
import AVFoundation
class ViewController: UIViewController {
var player: AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBOutlet weak var operations: UIImageView!
@IBOutlet weak var bottomRightNumber: UIImageView!
@IBOutlet weak var bottomMiddleNumber: UIImageView!
@IBOutlet weak var bottomLeftNumber: UIImageView!
@IBOutlet weak var topRightNumber: UIImageView!
@IBOutlet weak var topMiddleNumber: UIImageView!
@IBOutlet weak var topLeftNumber: UIImageView!
@IBAction func buttonPressed(_ sender: UIButton) {
let numberArray = [#imageLiteral(resourceName: "RN1"), #imageLiteral(resourceName: "RN2"), #imageLiteral(resourceName: "RN3"), #imageLiteral(resourceName: "RN4"),#imageLiteral(resourceName: "RN5"), #imageLiteral(resourceName: "RN6"), #imageLiteral(resourceName: "RN7"), #imageLiteral(resourceName: "RN8"), #imageLiteral(resourceName: "RN9"), #imageLiteral(resourceName: "RN0")]
bottomRightNumber.image = numberArray.randomElement()
bottomLeftNumber.image = numberArray.randomElement()
bottomMiddleNumber.image = numberArray.randomElement()
topRightNumber.image = numberArray.randomElement()
topMiddleNumber.image = numberArray.randomElement()
topLeftNumber.image = numberArray.randomElement()
let operationArray = [#imageLiteral(resourceName: "-"), #imageLiteral(resourceName: "+")]
operations.image = operationArray.randomElement()
func playSound() {
guard let url = Bundle.main.url(forResource: "A", withExtension: "wav") else { return }
do { /* The following line is required for the player to work on iOS 11. Change the file type accordingly*/
player = try! AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.wav.rawValue)
player.play()
}
}
}
}
【问题讨论】:
-
对于简单的音效,请尝试使用音频服务 API:stackoverflow.com/questions/9791491/…
-
"Xcode" 不“播放”任何东西。 Xcode 只是您编写程序的 IDE。
标签: ios swift avaudioplayer