我试图按UI界面上的7个按钮之一来使模拟xcode的iPhone播放wav音频文件。代码如下:
import UIKit
import AudioToolbox
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func notePressed(_ sender: UIButton) { //7 buttons are associated with this IBAction, tagged from 1-7
if let soundURL = Bundle.main.url(forResource: "note1", withExtension: "wav") {
var mySound: SystemSoundID = 0
AudioServicesCreateSystemSoundID(soundURL as CFURL, &mySound)
//play
AudioServicesPlaySystemSound(mySound);
print(sender.tag) //to print the button tag and make sure the IBAction is working
}
else{
print("no note")
}
}
}
运行它时,我看不到任何错误。另外,当我按下7个按钮之一时,确实会打印按钮标签。 else语句中的“ no note”条件从不打印。
有一张运行here的模拟iPhone的图片。在图片中,每个彩色矩形都是7个按钮之一。它们按顺序被按下,因此可以看到标签显示在输出中。同样,在导航栏中的“声音文件”文件夹中也可以看到“ note1.wav”文件。 如果单击导航窗格中的note1.wav,我会听到很好的声音。
以下是Mac规格:
此外,我正在通过远程桌面连接使用此mac;这台计算机来自Macincloud,这是远程Mac出租服务。我不知道这是否可以改变任何东西,但是正如我之前说的,如果在xcode设备模拟中播放音频文件,我可以很好地听到来自Mac的音频文件。
有人知道如何解决吗?