iOS音频
来源:互联网 发布:如何查看mac激活时间 编辑:程序博客网 时间:2024/04/28 20:13
AVAudioSession 音频会话类别简介
目录(?)[+]
AVAudioSession
类由AVFoundation
框架引入,AVAudioSession是一个单例模式,也就是说,不用开发者自行实例化.每个iOS应用都有一个音频会话。这个会话可以被AVAudioSession
类的sharedInstance
类方法访问,如下:
import AVFoundationvar audioSession = AVAudioSession.sharedInstance()
在获得AVAudioSession类的实例后,你就能通过调用音频会话对象的setCategory:error:
实例方法,来从IOS应用可用的不同类别中作出选择。下面列出了可供使用的音频会话类别:
AVAudioSessionCategoryAmbient
后台播放类型,会和其它音乐混合的音频类型。这个类别用于音频比较次要的应用,应用的音频会和其他应用的音频实现混音,关闭屏幕或者静音开关打开时音频将静音.
AVAudioSessionCategorySoloAmbient
后台播放类型,其它音乐会停止播放, 默认类别。这个类别非常像AVAudioSessionCategoryAmbient
类别,除了会停止其他程序的音频回放。
AVAudioSessionCategoryPlayback
这个类别会静止其他应用的音频回放。你可以使用AVAudioPlayer
的prepareToPlay
和play
方法,在你的应用中播放声音。主UI界面会照常工作。这时,即使屏幕被锁定或者设备为静音模式,音频回放都会继续。
AVAudioSessionCategoryRecord
录音时使用。这会停止其他应用的声音并让你的应用也不能初始化音频回放(比如AVAudioPlayer
)。在这种模式下,你只能进行录音。使用这个类别,调用AVAudioPlayer的prepareToPlay
会返回true
,但是调用play方法将返回false
。主UI界面会照常工作。这时,即使你的设备屏幕被用户锁定了,应用的录音仍会继续。
AVAudioSessionCategoryPlayAndRecord
录音并需要播放时使用。这个类别允许你的应用中同时进行声音的播放和录制。当你的声音录制或播放开始后,其他应用的声音播放将会停止。主UI界面会照常工作。这时,即使屏幕被锁定或者设备为静音模式,音频回放和录制都会继续。
AVAudioSessionCategoryAudioProcessing
这个类别用于音频处理,比如编码解码时/不播放音频/未录音时使用。设置了这种模式,你在应用中就不能播放和录制任何声音。调用AVAPlayer
的prepareToPlay
和play
方法都将返回false
。其他应用的音频也会在此模式下停止。
AVAudioSessionCategoryMultiRoute
这个类别可以实现同时可以有多种输出,例如:usb和耳机同时输出,但并非所有输入输出方式均支持.输入方式仅包括:AVAudioSessionPortUSBAudio/AVAudioSessionPortHeadsetMic AVAudioSessionPortBuiltInMic
;输出仅包括:AVAudioSessionPortUSBAudio /AVAudioSessionPortLineOut /AVAudioSessionPortHeadphones /AVAudioSessionPortHDMI AVAudioSessionPortBuiltInSpeaker
详细说明见官网文档:Audio Session Categories
本文转载自http://www.swiftmi.com/topic/133.html
- iOS 音频
- iOS音频
- IOS - 音频
- ios 音频
- iOS音频
- iOS音频
- iOS-音频
- ios音频播放--归纳
- ios 录制音频
- ios 音频底层
- ios播放音频
- ios 播放音频
- iOS 关于音频开发
- ios音频播放
- iOS音频开发功能
- IOS音频开发
- iOS音频队列服务
- ios音频播放
- hbase内存调优
- Java中负数的二进制表示
- NYOJ - 456 - 邮票分你一半(动态规划01背包变形)
- ACCP HTML 第8章上机1
- zurmo(2)-自定义模块
- iOS音频
- 软件评测师——软件工程基础知识
- xshell直接拖文件进入服务器的操作
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Android studio 常见问题
- android替代版本 SQLite 报 no such table
- [Extjs6] 对gridpanel数据显示前对其进行相关的格式处理
- Java导出Excel表格数据
- centos6.5编译安装ACE6.3.4静态库