博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AVAudioSessionCategory说明
阅读量:6113 次
发布时间:2019-06-21

本文共 3613 字,大约阅读时间需要 12 分钟。

hot3.png

#pragma mark -- Values for the category property --/*  Use this category for background sounds such as rain, car engine noise, etc.   Mixes with other music. */AVF_EXPORT NSString *const AVAudioSessionCategoryAmbient;	/*  Use this category for background sounds.  Other music will stop playing. */AVF_EXPORT NSString *const AVAudioSessionCategorySoloAmbient;/* Use this category for music tracks.*/AVF_EXPORT NSString *const AVAudioSessionCategoryPlayback;/*  Use this category when recording audio. */AVF_EXPORT NSString *const AVAudioSessionCategoryRecord;/*  Use this category when recording and playing back audio. */AVF_EXPORT NSString *const AVAudioSessionCategoryPlayAndRecord;/*  Use this category when using a hardware codec or signal processor while not playing or recording audio. */AVF_EXPORT NSString *const AVAudioSessionCategoryAudioProcessing __TVOS_PROHIBITED;/*  Use this category to customize the usage of available audio accessories and built-in audio hardware. For example, this category provides an application with the ability to use an available USB output  and headphone output simultaneously for separate, distinct streams of audio data. Use of  this category by an application requires a more detailed knowledge of, and interaction with,  the capabilities of the available audio routes.  May be used for input, output, or both. Note that not all output types and output combinations are eligible for multi-route.  Input is limited to the last-in input port. Eligible inputs consist of the following:	AVAudioSessionPortUSBAudio, AVAudioSessionPortHeadsetMic, and AVAudioSessionPortBuiltInMic.   Eligible outputs consist of the following: 	AVAudioSessionPortUSBAudio, AVAudioSessionPortLineOut, AVAudioSessionPortHeadphones, AVAudioSessionPortHDMI, 	and AVAudioSessionPortBuiltInSpeaker.   Note that AVAudioSessionPortBuiltInSpeaker is only allowed to be used when there are no other eligible  outputs connected.  */AVF_EXPORT NSString *const AVAudioSessionCategoryMultiRoute NS_AVAILABLE_IOS(6_0);

AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound

用于非以语音为主的应用,使用这个category的应用会随着静音键和屏幕关闭而静音。并且不会中止其它应用播放声音,可以和其它自带应用如iPod,safari等同时播放声音。注意:该Category无法在后台播放声音

 AVAudioSessionCategorySoloAmbient 或 kAudioSessionCategory_SoloAmbientSound

 类似于AVAudioSessionCategoryAmbient 不同之处在于它会中止其它应用播放声音。 这个category为默认category。该Category无法在后台播放声音

 AVAudioSessionCategoryPlayback 或 kAudioSessionCategory_MediaPlayback

 用于以语音为主的应用,使用这个category的应用不会随着静音键和屏幕关闭而静音。可在后台播放声音

 AVAudioSessionCategoryRecord 或 kAudioSessionCategory_RecordAudio

 用于需要录音的应用,设置该category后,除了来电铃声,闹钟或日历提醒之外的其它系统声音都不会被播放。该Category只提供单纯录音功能。

 AVAudioSessionCategoryPlayAndRecord 或 kAudioSessionCategory_PlayAndRecord

 用于既需要播放声音又需要录音的应用,语音聊天应用(如微信)应该使用这个category。该Category提供录音和播放功能。如果你的应用需要用到iPhone上的听筒,该category是你唯一的选择,在该Category下声音的默认出口为听筒(在没有外接设备的情况下)。

AVAudioSessionCategoryAudioProcessing

使用硬件解码器处理音频,该音频会话使用期间,不能播放或录音

这个类别用于音频处理,比如编码解码时/不播放音频/未录音时使用。设置了这种模式,你在应用中就不能播放和录制任何声音。调用AVAPlayerprepareToPlayplay方法都将返回false。其他应用的音频也会在此模式下停止。

AVAudioSessionCategoryMultiRoute

这个类别可以实现同时可以有多种输出,例如:usb和耳机同时输出,但并非所有输入输出方式均支持.输入方式仅包括:AVAudioSessionPortUSBAudio/AVAudioSessionPortHeadsetMic AVAudioSessionPortBuiltInMic;输出仅包括:AVAudioSessionPortUSBAudio /AVAudioSessionPortLineOut /AVAudioSessionPortHeadphones /AVAudioSessionPortHDMI AVAudioSessionPortBuiltInSpeaker

184825_7LhF_2334416.jpg

 注意:并不是一个应用只能使用一个category,程序应该根据实际需要来切换设置不同的category,举个例子,录音的时候,需要设置为AVAudioSessionCategoryRecord,当录音结束时,应根据程序需要更改category为AVAudioSessionCategoryAmbient,AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback中的一种。

转载于:https://my.oschina.net/ospost90s/blog/654929

你可能感兴趣的文章
ES6语法总结
查看>>
数组实例
查看>>
window.open 打开新窗口被拦截的解决方案
查看>>
如何删除Git仓库中冗余的tag?
查看>>
October CMS - 快速入门 5 创建插件
查看>>
SpringMVC之源码分析--LocaleResolver(三)
查看>>
Vue 中 proxy代理
查看>>
Node.js教程第一篇—— Node.js 基础
查看>>
初识react高阶组件
查看>>
深入理解Java虚拟机到底是什么
查看>>
Python 基础
查看>>
GitHub CEO:GitHub 十年,感谢有你
查看>>
php与ethereum客户端交互
查看>>
JavaFx系列教程之一:JavaFx+Springboot+Maven 开发打包教程
查看>>
67 个拯救前端开发者的工具、库和资源
查看>>
leetcode median of two sorted arrays C语言实现
查看>>
iOS微信内存监控
查看>>
解决vue开发环境跨域问题
查看>>
Flutter 初尝:从 Java 无缝过渡
查看>>
Canvas画板---手机上也可以用的画板
查看>>