AVAudioSession样式

AVAudioSession

AVAudioSession类由AVFoundation框架引入,每个IOS应用都有一个音频会话,这个会话可以被AVAudioSession类的sharedInstance类方法访问
AVAudioSession *audioSession =  [AVAudioSession sharedInstance];
在获得一个AVAudioSession类的实例后,你就能通过调用音频会话对象的setCategory:error:实例方法,来从iOS应用可用的不同类型作出选择,下面列出了可供使用的音频会话类别:
AVAudioSessionCategorySoloAmbient

这个类别非常像AVAudioSessionCategoryAmbient类别,除了会停止其他程序的音频回放,比如ipod程序。当设备被设置为静音模式,你的音频回放将会停止

AVAudioSessionCategoryRecord
这会停止其他应用的声音(比如iPod)并让你的应用也不能初始化音频回放(比如AVAudioPlayer)。在这种模式下,你只能进行录音。使用这类别,调用AVAudioPlayer的prepareToPlay会返回YES,但是调用play方法将返回NO。主UI界面会照常工作。这时,即使你的设备屏幕被用户锁定了,应用的录音仍会继续

AVAudioSessionCategoryPlayback
这个类会静止其他应用的音频回放(比如ipod)你可以使用AVAudioPlayer的prepareToPlay和play方法,在你的应用中播放声音。主UI界面会照常工作。这时,即使屏幕被锁定或者静音,音频回放都会继续

AVAudioSessionCategoryPlayAndRecord
这个类别允许你的应用同时进行声音的播放和录制。当你的声音录制和播放开始后,其他应用的声音播放将会停止。主UI界面会照常工作。即使屏幕被锁或者静音,音频的回放或是录音都会继续

AVAudioSessionCategoryAudioProcessing
这个类别用于应用中进行音频处理的情景,而不是音频回放和录制。设置这个模式,你的应用就不能播放和录制其他任何声音。调用AVAudioplayer的prepareToPlay和play方法都会返回NO。其他应用的音频回放,比如iPod,在此模式下停止
AVAudioSessionCategoryAmbient
这个类不会停止其他应用的声音,相反,它允许你的音频播放于其他应用的声音上。你的应用的主UI界面会正常工作。调用AVAudioPlayer的prepareToPlay和play方法都返回YES。当用户锁频,你的应用将停止正在回放的音频。仅当你的应用是唯一播放音频文件的应用时,静音模式将停止你程序的音频回放。  如果正当iPod播放一手歌时,你开始播放音频,将设备设为静音模式并不能停止你的音频回放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值