Ios4 如何解除音频会话
kAudioSessionProperty_OtherMixableAudioShouldDuck用于允许iPod音频与应用程序音频混合的音频会话类别,指定应用程序产生声音时是否应降低iPod音频的音量。默认情况下,此属性的值为FALSE(0)。将其设置为非零值以启用“回避”。 我们怎么能解开这个?有什么财产吗 提前感谢,,Ios4 如何解除音频会话,ios4,avaudioplayer,avaudiosession,Ios4,Avaudioplayer,Avaudiosession,kAudioSessionProperty_OtherMixableAudioShouldDuck用于允许iPod音频与应用程序音频混合的音频会话类别,指定应用程序产生声音时是否应降低iPod音频的音量。默认情况下,此属性的值为FALSE(0)。将其设置为非零值以启用“回避”。 我们怎么能解开这个?有什么财产吗 提前感谢,, 钱德拉。我有同样的问题,很难让它始终如一地工作。我花了很多时间研究和调试这个,最后打电话给苹果。他们让我看一下面包屑样本代码。我遵循了这个例子,一切都很好 这里的问题是,会
钱德拉。我有同样的问题,很难让它始终如一地工作。我花了很多时间研究和调试这个,最后打电话给苹果。他们让我看一下面包屑样本代码。我遵循了这个例子,一切都很好 这里的问题是,会话属性和时间等有许多不同的选项。例如,您是设置属性然后取消设置,还是保留属性然后启动和停止会话 这里有一个类似的问题: 以下是苹果的示例代码:
查看@zaphodtx发布的示例代码,一个可能的解决方案是激活和停用当前音频会话 示例中的特定文件是: 例如,在Swift中:
import UIKit
import AVFoundation
class MyController: UIViewController, AVAudioPlayerDelegate{
var audioPlayer: AVAudioPlayer?
func viewDidLoad(){
super.viewDidLoad()
configureAudioSession()
}
func configureAudioSession(){
let session = AVAudioSession.sharedInstance()
do{
try session.setCategory(AVAudioSessionCategoryPlayback, withOptions: [.DuckOthers])
} catch {
print(
"Unable to configure audio session, Attempting " +
"to activate or deactivate the audio session will "
"likely not meet your expectations."
)
return
}
print("Audio Session Configured")
}
func activateAudioSession(value: Bool){
let session = AVAudioSession.sharedInstance()
try? session.setActive(value)
}
func playAudioAtPath(path:String){
audioPlayer?.stop()
let url = NSURL(fileURLWithPath: path)
if let player = try? AVAudioPlayer(contentsOfURL: url){
activateAudioSession(true)
print("Playing AVAudioPlayer Sound from path: '\(path)'")
player.volume = volume
player.delegate = self
player.play()
audioPlayer = player
} else {
print("Failed to play AVAudioPlayer Sound from path: '\(path)'")
audioPlayer = nil
}
}
func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
activateAudioSession(false)
}
}