【发布时间】:2014-11-19 02:47:19
【问题描述】:
因此,在我的应用中,用户在点击播放按钮时会播放器乐,但当他们停止时,它应该会停止音乐。在我的代码中,当我添加停止按钮的代码时,当我点击播放按钮时没有任何播放,但是当我删除代码时,播放按钮有效,但停止按钮无效。我不明白它为什么在我的代码中这样做。
代码如下:
@IBAction func playInstrumentalPressed(sender: AnyObject) {
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let saveFileName = nameSavedFile as String
if (saveFileName != "") {
let beatLocation = documentsPath + "/" + saveFileName + ".wav"
let fileURL = NSURL(fileURLWithPath: beatLocation)
var error:NSError?
player = AVAudioPlayer(contentsOfURL: fileURL, error: &error)
if player.prepareToPlay() && player.play() {
println("yes")
} else {
println("no")
}
} else {
println("Not Available") //add alertview here
}
}
@IBAction func stopInstrumentalButton(sender: UIButton) {
if (player.playing) {
player.stop()
} else {
println("Nothing is playing")
}
}
【问题讨论】:
-
我想知道您的 iBAction 插座是否连接不正确...也许仔细检查您的 xib/storyboard 以查看按钮连接的方法。
-
这就是我最初的想法,所以我删除了代码和按钮并制作了一个新的并将其连接起来,但仍然没有改变任何东西。
-
能否请您在
stopInstrumentalButton中输入一些登录信息,以便在您按播放时查看它是否被调用? -
当我按下播放它被称为 player.stop 当我按下停止它打印没有播放。我不知道为什么在没有按下停止时它会这样做
-
抱歉,不确定您在说什么。 1) 当你按下播放键时,
stopInstrumentalButton会被调用吗? 2) 你能把你的xib/storeyboard的连接截图发到IBOutlets。其他尝试:在stopInstrumentalButton方法中放置一个断点并按下开始按钮。您将能够看到谁在调用堆栈中调用该方法。
标签: ios swift audio-player