我一直在试图弄清楚如何停用播放声音。我尝试附加一个removeAtionWithKey
声音动作,它似乎工作正常,但声音并没有停止播放。这是因为我在使用动作SpriteKit
吗?
如果这个问题在这里解决而不是 import AVFoundation
,那么你能给我一些例子来阻止声音播放吗?或者,如果AVFoundation
在这种情况下首选导入,您能否也提供一些代码给我。
这是一个如何使用 AVFoundation 的示例。
import Foundation
import AVFoundation
var backgroundMusicPlayer: AVAudioPlayer!
func playBackgroundMusic(filename: String) {
let url = NSBundle.mainBundle().URLForResource(filename, withExtension: "mp3")
if (url == nil) {
print("Could not find the file \(filename)")
}
do { backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: url!, fileTypeHint: nil) } catch let error as NSError { print(error.debugDescription)}
if backgroundMusicPlayer == nil {
print("Could not create audio player")
}
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
var Sound: AVAudioPlayer!
func playSound(filename: String) {
let url = NSBundle.mainBundle().URLForResource(filename, withExtension: "wav")
if (url == nil) {
print("Could not find the file \(filename)")
}
do { Sound = try AVAudioPlayer(contentsOfURL: url!, fileTypeHint: nil) } catch let error as NSError { print(error.debugDescription)}
if Sound == nil {
print("Could not create audio player")
}
Sound.prepareToPlay()
Sound.play()
}
这就是您想要实现的目标(如果我理解得很好):
@IBAction func MusicButton(sender: UIButton) {
if backgroundMusicPlayer.playing {
backgroundMusicPlayer.stop()
}
else {
playBackgroundMusic("SomeMusicName")
}
}
使用 AVFoundation 停止音乐就像.stop()
^^!