理解音频焦点 (第1_3部分):常见的音频焦点用例

这篇具有很好参考价值的文章主要介绍了理解音频焦点 (第1_3部分):常见的音频焦点用例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 译者:oaosj

理解音频焦点 (第1/3部分):常见的音频焦点用例

Android手机支持多个应用同时播放音频。操作系统会把多个音频流混合在一起播放,但是多个应用同时播放音频,给用户带来的体验往往不佳。为了提供更友好的用户体验,Android提供了一个API,让应用程序可以共享音频焦点,旨在保证同一时段内只有一个应用可以维持音频聚焦。

本系列文章旨在让您深入理解音频焦点的含义,使用方法和其对用户体验的重要性。本篇文章是该系列的第一部分,该系列三篇文章包含了:

  1. 最常见的音频焦点用例和成为一个优秀的媒体事业人员的重要性(此篇文章
  2. 其它一些能体现音频焦点对应用体验的重要性的用例
  3. 在您的应用中实现音频焦点的三个步骤

音频焦点的良好协作性,主要依赖于应用程序是否遵循音频焦点指南,操作系统没有强制执行音频焦点的规范来约束应用程序,如果应用选择在失去音频焦点后继续大声播放音频,会带来不良的用户体验,可能直接导致应户卸载应用,但这是无法阻止的行为,只能靠开发者自我约束。

下面是一些音频焦点使用场景(假设用户正在使用您的应用播放音频)。

当您的应用需要播放声音的时候,应该先请求音频聚焦,在获得音频焦点后再播放声音。

用例一 : 用户在使用您的应用播放音频1时,打开另一个应用并尝试播放该应用相关的音频2

您的应用不处理音频焦点的情况下:

您的音频1和另一个应用的音频2会重叠播放,用户无法正常听到来自任何应用的音频,这样的用户体验很不友好。

您的应用处理了音频焦点的情况下:

在另一个应用需要播放音频时,它会请求音频焦点常驻,即音频永久聚焦。一旦系统授权,它便会开始播放音频,这时候您的应用需要响应音频焦点的丢失通知,停止播放。这样用户就只会听到另一个应用的音频。

同样的道理,假如过了五分钟,您的应用需要播放音频,您同样需要申请音频焦点,一旦获得系统授权,我们就可以开始播放音频,其它应用响应音频焦点丢失通知,停止播放。

用例二 : 当您播放音频时候,正好手机来电,需要播放响铃。

您的应用不处理音频焦点的情况下:

手机响铃后,用户会听到铃声和您的手机音频叠加在一起播放。如果用户选择直接挂断电话,您的音频会保持播放。如果用户选择接通电话,他会听到通话声音和您的应用音频叠加在一起播放,挂断通话后您的应用音频会保持播放。无论如何,您的应用音频将全程保持播放状态。这带来的通话体验极差。

您的应用处理了音频焦点的情况下:

当手机响铃(您还未接通电话), 您的应用应该选择相应的回避(这是系统应用的要求)措施来响应短暂的音频焦点丢失。回避的措施可以是把应用的音量降低到百分之二十,也可以是直接暂停播放(如果您的应用是播客类,语音类应用)。

  • 如果用户拒绝接听电话,您的应用可以马上采取响应音频焦点的获取,然后做出提高音量或恢复播放的相关操作。
  • 如果用户接听了电话,操作系统会发出音频焦点丢失的通知。您的应用应该选择暂停播放,然后在通话结束后恢复播放。


自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

最后

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

阿里P7Android高级教程

下面资料部分截图,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。

理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

附送高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、近期面试跳槽、自身职业规划迷茫的朋友们。

Android核心高级技术PDF资料,BAT大厂面试真题解析;
理解音频焦点 (第1_3部分):常见的音频焦点用例,程序员,音视频

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

]文章来源地址https://www.toymoban.com/news/detail-848279.html

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

到了这里,关于理解音频焦点 (第1_3部分):常见的音频焦点用例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • chatGPT4问世,作为一个程序员应当如何去理解?

    前几年 AI 发展也遇到过许多瓶颈,甚至很多AI投资者因为技术得不到突破而破产。但近几年AI技术飞速发展,特别是今天的主题chatGPT 第一次问世还只是一个帮学生写作业的工具,第二次迭代即可完成大部分市场业务,回答很多刁钻的问题。 有人测试过问chatGPT一些很难以回答

    2023年04月10日
    浏览(56)
  • 成为一个合格程序员所必备的三种常见LeetCode排序算法

    排序算法是一种通过特定的算法因式将一组或多组数据按照既定模式进行重新排序的方法。通过排序,我们可以得到一个新的序列,该序列遵循一定的规则并展现出一定的规律。经过排序处理后的数据可以更方便地进行筛选和计算,从而大大提高了计算效率。因此,掌握排序

    2024年01月17日
    浏览(46)
  • 如何运行黑马程序员redis项目黑马点评(hm-dianping)、常见报错解决与部分接口的测试方法

    hm-dianping项目仓库地址:https://gitee.com/huyi612/hm-dianping 项目对应教学视频:https://www.bilibili.com/video/BV1cr4y1671t?p=24(p24-p95) hm-dianping项目仓库地址:https://gitee.com/huyi612/hm-dianping 以Navicat为例 1、先新建数据库hmdp 2、导入项目中的hmdp.sql文件 配置Mysql 要注意配置文件中默认的mysql配

    2024年01月17日
    浏览(45)
  • Elasticsearch的高阶使用方法有哪些?,后端程序员必备的Linux基础知识+常见命令

    ③should 通用的道理:多个查询条件通过should连接,相当于以前常用的or,说白了也就是逻辑运算符“与”。 ps :关于其格式使用,不要看它图中好像挺复杂的样子,其实都可以通过工具有提示,并且这些写多了基本也就知道了。 2范围查询 商品都有自己的价格,用户可以通过

    2024年04月08日
    浏览(82)
  • ChatGPT在连续追问下对多线程和双重检查锁模式的理解--已经超越中级程序员

    一、问: 二、ChatGPT答:  在多线程情况下,可能会出现GZHttpClientResultModel model为null的情况,因为CACHE_RESULT_MODEL是一个ConcurrentHashMap对象,虽然它本身是线程安全的,但是它内部的操作不是完全线程安全的。 比如在cacheResultMode方法中,如果两个线程同时接近CACHE_RESULT_MODEL.con

    2023年04月27日
    浏览(40)
  • 程序员简历程序员简历.pdf

    你们在制作简历时,是不是基本只关注两件事: 简历模板,还有基本信息的填写 。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“ 看起来最好看的模板 ”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象: 许多求职

    2024年04月14日
    浏览(49)
  • AI程序员对程序员的影响

    最近,全球首位AI程序员Devin的出现引发了广泛关注,也引发了人们对人工智能在编程领域的潜力和影响的讨论。尽管AI技术在编程领域得到广泛应用,但人们仍然在探讨它是否能完全取代人类程序员。本文将探讨AI程序员的优势、局限性以及对程序员职业的影响,并展望未来

    2024年03月23日
    浏览(59)
  • 普通程序员和厉害程序员的差距!

    大家好,我是 程序员陶朱公 。 今天跟大家聊一下关于代码重构的话题。 话说,很多程序员对自己写的代码平时很随心所欲(各种魔法变量,一个方法几十上百行代码,还有各种让人崩溃的变量或方法命名)。 当有一天让他维护他人的代码,他就会抓狂,很容易激发他体内重构

    2024年03月23日
    浏览(64)
  • 大批程序员失业,大龄程序员出路在哪里?

    在程序员这个群体中,时常有人陷入技术迷信和思维僵化的困境,但实际上,当前市场对于技术的需求是非常广泛的。因此,我提出了一些建议,希望能够帮助程序员跳出技术框架,更好地利用技能创造实际价值。以下是一些建议供参考: 开发小而实用的工具类软件: 以“

    2024年01月22日
    浏览(56)
  • 低代码——面向程序员,帮助程序员敏捷开发

    低代码是一套可视化开发工具,它帮开发者把前后端基础功能写扎实,开发者只需要 通过填表配置或拖拽生成前端组件 的方式,即可完成后台管理系统的快速搭建。由于低代码仍需要 写少量 JS 代码 ,所以低代码开发平台主要面向程序员,帮助程序员敏捷开发。 本文使用

    2024年02月01日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包