Swift/Spring:SoundPlayer.play(“string.wav”)不工作
我尝试使用Spring框架在触摸按钮时播放声音Swift/Spring:SoundPlayer.play(“string.wav”)不工作,spring,swift,Spring,Swift,我尝试使用Spring框架在触摸按钮时播放声音 import UIKit class ViewController: UIViewController { //TODO: max, mia, beide arrays und zufallsgenerator und happy day unten mit klick gleich wave @IBAction func soundButton(sender: AnyObject) { let mySound : String
import UIKit
class ViewController: UIViewController {
//TODO: max, mia, beide arrays und zufallsgenerator und happy day unten mit klick gleich wave
@IBAction func soundButton(sender: AnyObject) {
let mySound : String! = "refresh.wav"
SoundPlayer.play(mySound)
}
@IBOutlet weak var imageView: SpringImageView!
@IBAction func beideButton(sender: AnyObject) {
imageView.image = UIImage(named: "b1")
imageView.animation = "zoomIn"
imageView.animate()
}
@IBAction func maxButton(sender: AnyObject) {
imageView.image = UIImage(named: "max1")
imageView.animation = "slideLeft"
imageView.animate()
}
@IBAction func miaButton(sender: AnyObject) {
imageView.image = UIImage(named: "mia1")
imageView.animation = "slideRight"
imageView.animate()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我遇到以下错误:无法使用“String”类型的参数列表调用“play”
我试着像这样看待事情!,作为字符串,作为字符串!,像字符串打开左右,但无法找出它
这是SoundPlayer类别版权c 2015 James Tangj@jamztang.com:
import UIKit
import AudioToolbox
public class SoundPlayer: NSObject {
@IBInspectable var filename : String?
@IBInspectable var enabled : Bool = true
private struct Internal {
static var cache = [NSURL:SystemSoundID]()
}
public func playSound(soundFile:String) {
if !enabled {
return
}
if let url = NSBundle.mainBundle().URLForResource(soundFile, withExtension: nil) {
var soundID : SystemSoundID = Internal.cache[url] ?? 0
if soundID == 0 {
AudioServicesCreateSystemSoundID(url, &soundID)
Internal.cache[url] = soundID
}
AudioServicesPlaySystemSound(soundID)
} else {
println("Could not find sound file name `\(soundFile)`")
}
}
@IBAction public func play(sender: AnyObject?) {
if let filename = filename {
self.playSound(filename)
}
}
}
仅从我不熟悉的Spring代码来看,您需要做的是创建一个SoundPlayer实例并在其上调用playSound not play,它使用内部文件名来播放声音,而不是它的参数,如下所示:
@IBAction func soundButton(sender: AnyObject) {
let mySound : String! = "refresh.wav"
let soundPlayer = SoundPlayer()
soundPlayer.playSound(mySound)
}