如何停止背景音(swift3)
How to stop background sound (swift3)
我使用函数 slowPlay
创建了一个播放背景音乐的动作。我试图在 stop
中执行相反的操作以停止音乐。但是音乐没有停止。
我只想有一个播放音乐和停止音乐的按钮。我正在使用代码:
@IBAction func play(_ sender: Any) {
slowPlay
}
@IBAction func stop(_ sender: Any) {
slowStop
}
func slowPlay() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
}
player?.play()
}
func slowStop() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
}
player?.stop()
}
如果您查看您的代码示例,您正在为播放和停止创建 player
的新实例。
您需要为您的播放器创建一个 class 变量,例如:
var player: AVAudioPlayer?
这将允许您像这样停止:
func slowStop() {
player?.stop()
}
为blow之类的玩家创建一个实例
var player: AVAudioPlayer?
func slowPlay() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
self.player = try AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
//catch error here
}
self.player?.play()
}
func slowStop() {
self.player?.stop()
}
您可以添加验证以在执行任何操作之前检查玩家是否有效。
我使用函数 slowPlay
创建了一个播放背景音乐的动作。我试图在 stop
中执行相反的操作以停止音乐。但是音乐没有停止。
我只想有一个播放音乐和停止音乐的按钮。我正在使用代码:
@IBAction func play(_ sender: Any) {
slowPlay
}
@IBAction func stop(_ sender: Any) {
slowStop
}
func slowPlay() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
}
player?.play()
}
func slowStop() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
}
player?.stop()
}
如果您查看您的代码示例,您正在为播放和停止创建 player
的新实例。
您需要为您的播放器创建一个 class 变量,例如:
var player: AVAudioPlayer?
这将允许您像这样停止:
func slowStop() {
player?.stop()
}
为blow之类的玩家创建一个实例
var player: AVAudioPlayer?
func slowPlay() {
do {
let ap = Bundle.main.path(forResource: "slowslow", ofType: "mp3")
self.player = try AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: ap!) as URL)
} catch {
////
}
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback)
} catch {
//catch error here
}
self.player?.play()
}
func slowStop() {
self.player?.stop()
}
您可以添加验证以在执行任何操作之前检查玩家是否有效。