如何在AVAudioPlayer中静音?
我创build了AVAudioPlayer
,现在我想在用户点击button时将其静音。
这里我曾经尝试过:
player.volume = 1.0 //when first time i initiate my player - (IBAction)speakerOnOff:(id)sender { if (player.volume == 1.0) { [player setVolume: 0.0]; NSLog(@"1volume is:%f",player.volume); }else if (player.volume == 0.0) { [player setVolume: 1.0]; NSLog(@"2volume is:%f",player.volume); } }
if (player.volume = 1.0)
和if (player.volume = 0.0)
至less在两个级别上是错误的。 首先,C不是Pascal – =
操作符是一个赋值,可能你的意思是if (player.volume == 1.0)
。
二,即使这不会有什么好处 – 比较浮点数不会做你认为的事情 。 你最好设置一个布尔标志来指示播放器的状态(并且省略else if
部分,因为它是多余的):
- (IBAction)speakerOnOff:(id)sender { static BOOL muted = NO; if (muted) { [player setVolume:1.0]; } else { [player setVolume:0.0]; } muted = !muted; }
迅捷2+解决scheme
let musicPlayer:AVAudioPlayer = AVAudioPlayer() var IsMuted:Bool = false if IsMuted == false { IsMuted = true musicPlayer.volume = 0 } else { IsMuted = false musicPlayer.volume = 1 }
– >不要忘记将setCategory
为AVAudioSessionCategoryAmbient
do { try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient) try AVAudioSession.sharedInstance().setActive(true) } catch _ { return print("couldn't set session") }
- iPhone4S与iOS6 AVAudioPlayer正在工作,但没有声音
- AVAudioPlayer泄漏?
- AudioServicesPlaySystemSound在模拟器xCode 6 GM上静音
- AVAudioPlayer帮助:同时播放多个声音,一次停止所有声音,以及解决自动参考计数问题
- iOS背景audio没有播放
- 在iOS应用程序中播放一个mp3文件
- 应用程序:didReceiveRemoteNotification:fetchCompletionHandler:调用时不在UIApplicateStateBackground中
- 当前音轨的iOSaudio信息Swift
- 添加声音从NSDatePicker播放时间