ios - 我如何对 Musik 的开关和按钮进行编程?

标签 ios swift avaudiosession audio

我想开发一个小应用程序。但是从几天开始,我就尝试制作一个 Musik off Button。也许你可以帮助我。 我是这样开始的。

func MusikAN (sender: UIButton!) {
    MusikEinUndAusSchalten.setBackgroundImage(MusikEin, forState: .Normal)
    MusikEinUndAusSchalten.addTarget(self, action: "MusikAus:", forControlEvents: .TouchUpInside)
}
func MusikAus (sender: UIButton!){
    MusikEinUndAusSchalten.setBackgroundImage(MusikAus, forState: .Normal)
    MusikEinUndAusSchalten.addTarget(self, action: "MusikAN:", forControlEvents: .TouchUpInside)
    audioPlayer.stop()
}

我用这个功能制作了 Musik。

func Musik (sender: UIButton) {

    var alertsound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Blub1", ofType: "mp3")!)

    AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
    AVAudioSession.sharedInstance().setActive(true, error: nil)

    var error: NSError?
    audioPlayer = AVAudioPlayer(contentsOfURL: alertsound, error: &error)
    audioPlayer.prepareToPlay()
    audioPlayer.play()

}

但它不起作用。声音传来。 当您按下“MusikAus”按钮时,您必须听不到任何音乐,而当您按下“MusikAn”按钮时,您必须再次听到音乐。

最佳答案

每次按下按钮时都调用 addTarget 是个坏主意(是 ADD,不是 SET)。就像第二次点击一样,您将同时调用这两种方法,甚至可能多次。因此,要么在添加新对象之前调用 removeTarget,要么更好地设置并使用按钮的选定状态在两种方法之间切换。 另外,MusikAN 方法甚至没有调用音频播放器上的东西,所以停止后它应该如何继续播放?

关于ios - 我如何对 Musik 的开关和按钮进行编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28859553/

相关文章:

加载时的 iOS 导航栏动画背景

ios - 并行http请求

ios - AVAudioSession 重新激活问题

ios - 如何在 iTunesConnect 上注册 Game Center 应用程序?

ios - 自定义 UIControl 中的帧大小和 'required init(coder: NSCoder)'

ios - 如何在 iOS 中从另一个 View Controller 导航回来后将 SearchBar 设置为事件状态

ios - 如何检查用户是否已从“设置”返回

iOS 应用程序蓝牙音频在 "Phone Mode."中推出

ios - 使播放 Http 实时流媒体视频的 AVPlayer 静音

第二次单击时按钮问题的 iOS 声音