Mic*_*rke 5 iphone audio ios swift
我环顾四周,发现了类似的问题,但没有什么相同......如果我在某个地方错过了答案,我会道歉.
我正在使用SpriteKit完成我在Swift中编写的游戏.
我玩过的大多数其他游戏,我可以在背景中播放音乐或者播放音乐,并且在玩游戏时仍能听到它.
在我玩游戏时,我注意到它会自动关闭来自其他应用程序的音频.
我没有使用AVAudioPlayer声音,因为我目前只有少量的音频效果,所以我只是使用SKAction.playsoundfilenamed动作.
我确实有逻辑可以打开和关闭我的声音,但这只是使用一些内部的if/else逻辑.
我想知道是否有一些AVAudio我可以设置的属性,允许其他应用音频在我的开放时继续播放?我在文档中找不到这个.
谢谢!
将您的AVAudioSession类别设置为Ambient.
import AVFoundation.AVAudioSession
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
Run Code Online (Sandbox Code Playgroud)
此类别也适用于“一起演奏”风格的应用程序,例如用户在音乐应用程序播放时演奏的虚拟钢琴。当您使用此类别时,来自其他应用程序的音频会与您的音频混合。您的音频通过屏幕锁定和静音开关(在 iPhone 上称为响铃/静音开关)静音。
在Xcode 8.2.1,Swift 3(最新语法)中,这对我有用:
import AVFoundation
override func viewDidLoad() {
super.viewDidLoad()
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback, with: [.mixWithOthers])
try audioSession.setActive(true)
}catch{
// handle error
}
// the rest of your code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2890 次 |
| 最近记录: |