ios - Swift - 当设备处于静音状态时,AVAudioPlayer 仍在播放声音吗?

标签 ios swift xcode6 avaudioplayer silent

我正在制作一个相当基本的应用程序,并且一直在探索使用 AVAudioPlayer 在我的应用程序中播放声音,但我遇到了一个问题,即使设备处于静音状态,它也会播放声音。这是我正在使用的代码:

var audioPlayer = AVAudioPlayer()

然后在 View 中加载:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
var beepOne = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("menu", ofType: "wav")!)
audioPlayer = AVAudioPlayer(contentsOfURL: beepOne, error: &error)
audioPlayer.prepareToPlay()

当声音播放时:

audioPlayer.play()

当设备处于静音状态或切换到静音状态时,我需要做什么才能停止播放声音?也许在 audioPlayer.play() 之前有一个 if 语句来检测设备是否处于静音状态?

最佳答案

发现问题所在,在第二行和第三行代码中:

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

我必须将 AVAudioSessionCategoryPlayback 更改为 AVAudioSessionCategoryAmbient

希望这对可能遇到同样问题的其他人有所帮助:)

关于ios - Swift - 当设备处于静音状态时,AVAudioPlayer 仍在播放声音吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28496758/

相关文章:

ios - Parse.com 和 Facebook SDK 问题

c# - Xamarin Forms PCL 如何从 iOS customRenderer 进行 PushAsync

objective-c - xCode6 如何在 Storyboard中正确应用模糊/活力效果?

ios - 如何在不使用 Storyboard的情况下创建新的 Swift 项目?

ios - 如何在使用 SDWebImage 加载图像时传递 Authtoken

ios - 搜索后删除会产生一个虚拟行

Swift - 指定符合泛型类型参数的协议(protocol)

ios - 设置 PreferredContentSize 在 iOS8 横向 iPhone 的今日小部件中不起作用

ios - CFStringTransform 和 Swift 3 中 'init' 的使用不明确

SwiftUI:如何更改警报按钮和 NavigationLink 后退按钮的颜色?