每个 iOS 应用都有一个音频会话,可以通过一个 AVAudioSession 类的实例管理app声音的播放形式

AVAudioSession *audioSession = [AVAudioSession sharedInstance];

[audioSession setCategory:AVAudioSessionCategoryPlayback error:&audioSessionError];

在获得一个 AVAudioSession 类的实例后,你就能通过调用音频会话对象的 setCategory:error:实例方法,来从 iOS 应用可用的不同类别中作出选择。下面列出了可供使用的音频会话类别:

**AVAudioSessionCategoryAmbient **

这个类别不会停止其他应用的声音,相反,它允许你的音频播放于其他应用的声音之 上,比如 iPod。你的应用的主 UI 线程会工作正常。调用 AVAPlayer 的 prepareToPlay 和 play 方法都将返回 YES。

**AVAudioSessionCategorySoloAmbient **

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

AVAudioSessionCategoryRecord

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

AVAudioSessionCategoryPlayback

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

AVAudioSessionCategoryPlayAndRecord

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

AVAudioSessionCategoryAudioProcessing 这个类别用于应用中进行音频处理的情形,而不是音频回放或录制。设置了这种模式, 你在应用中就不能播放和录制任何声音。调用 AVAPlayer 的 prepareToPlay 和 play 方法都将 返回 NO。其他应用的音频回放,比如 iPod,也会在此模式下停止。

ios 获取是否静音模式_iOS 静音模式下播放声音相关推荐

  1. ios 获取沙盒文件名_IOS获取各种文件目录路径的方法

    iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory( ...

  2. ios 获取沙河文件夹_iOS开发之获取沙盒路径

    iOS开发之沙盒机制(SandBox)详细讲解了沙盒的一些机制.在开发中,我们需要对沙盒进行操作,所以我们需要获取到沙盒路径. 沙盒里的文件夹包括Documents.Library.tmp.这三个文件 ...

  3. ios 获取沙盒文件名_iOS沙盒机制

    沙盒机制每个应用都有自己独立的存储空间 应用不能翻过围墙去访问别的存储空间 应用请求的数据都要进行权限检查,如果不符合,就不会被放行 ios app只能在自己的沙盒目录下读取文件,在沙盒中,bundl ...

  4. ios 获取沙盒文件名_iOS怎么获取并移除沙盒中Documents文件夹下的所有文件

    匿名用户 1级 2016-09-15 回答 1.将所有文件存入数组 NSString *string = [NSSearchPathForDirectoriesInDomains(NSDocument ...

  5. ios 获取是否静音模式_iOS音量和静音按键状态获取

    项目中需要用到判断当前手机音量是否为0或者静音按键是否关闭的状态,本来以为这应该有现成的接口,但没找到,而且获取静音按键的状态还有点麻烦,所以在此记录下. 一. 获取手机系统的音量 获取音量是通过获取 ...

  6. ios 获取是否静音模式_高效人士进阶-IOS

    现在智能手机发展越来越快,各种新闻.视频.游戏等等开始分化我们的时间,日常时间开始越来越不够用,我今天给大家带来一点苹果手机使用的小技能,做真正的高效能人士,专注.高效.高执行! 1.通知隐式推送 日 ...

  7. ios 获取是否静音模式_如何监听iOS设备静音按钮的状态

    通过使用指定方式播放一段极小音频,比较播放的开始和完成时间,来判断当前静音按钮的状态. 我也针对常见的对音量方面的需求做了一个小工具,欢迎大家使用.指正. 2018年9月6日更新: 1.[修正]--A ...

  8. Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...

    1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...

  9. Apple Watch上的静音模式,免打扰模式和剧院模式之间的区别(以及何时使用每种模式)

    Since it was introduced, the Apple Watch has gained a number of different modes, but it's not immedi ...

最新文章

  1. 长安大学研究生院计算机学院,研究生教育
  2. 深入理解C++的动态绑定和静态绑定
  3. kotlin中mainactivity无法直接调用xml中的控件_使用52North 客户端接口调用OGC WPS服务...
  4. error_reporting
  5. Kibana中的Coordinate Map地图报索引错误的问题
  6. mysql8.0版本的服务器名称_Linux服务器配置-VSFTP服务配置(六)
  7. thymeleaf 的 th:onclick js方法入参
  8. linux tcp cork,Socket选项系列之TCP_CORK(转)
  9. MAP地图报错Unable to preventDefault inside passive event listener invocation.
  10. java, android的aes等加密库
  11. C++自增和自减运算符(--和++)
  12. C语言fcntl函数
  13. ubuntu linux多声卡设置默认声卡shell指令
  14. android仿饿了么购物车效果,仿饿了么购物车跳动
  15. Android性能优化-Apk瘦身(1)
  16. 【云原生 | 12】Dockerfile语法详解及举例
  17. ReactOS学习笔记--编译和调试
  18. 用Jplayer做的一个带动画的播放器
  19. Oo0代码混淆实现方法
  20. 清华大学赵明国:AI芯片 +机器人,突破算法瓶颈

热门文章

  1. ## STM32也要bad apple-TFT彩屏版
  2. CentOS 7 初始化系统
  3. 计算机动画可分为哪两大类,人物跑常见的绘画方法动态人物动作中间画绘制中动画有()类型。...
  4. vue使用prerender预渲染配合vue-meta实现单页面实现SEO优化
  5. SOLIDWORKS 3D CAD 2019新增功能详解(一):利用网格和扫描数据的新设计功能
  6. SnapdragonCamera无法录像问题
  7. 前端react项目如何部署到nginx
  8. 基于fisher线性判别法的分类器设计
  9. ext.net 动态创建GridPanel中Store与ColumnModel
  10. fscanf()函数基本用法