当前位置: 首页 > news >正文

qq刷网站空间优秀的展厅设计网站

qq刷网站空间,优秀的展厅设计网站,手游门户网站建设,开网站做家政原文地址#xff1a;http://android.xsoftlab.net/training/managing-audio/index.html 引言 如果APP需要播放音频#xff0c;允许用户可以控制音频的播放状态是很重要的一点。为了保证有极佳的用户体验#xff0c;还有很重要的一点就是#xff0c;APP需要管理音频的焦点…原文地址http://android.xsoftlab.net/training/managing-audio/index.html 引言 如果APP需要播放音频允许用户可以控制音频的播放状态是很重要的一点。为了保证有极佳的用户体验还有很重要的一点就是APP需要管理音频的焦点来确保不会有多个APP同时播放音频。 在稍后的课程中将会学习如何使APP响应物理按键的按下事件这需要在播放音频时请求音频的焦点以及需要适当的响应由系统或者其它应用程序引起的音频焦点改变。 控制APP的音量以及播放状态 一个良好的用户体验是可预测的。如果APP可以播放媒体那么用户可以通过设备上的物理按键或者虚拟按键来控制APP的音量是非常重要的一点。比如蓝牙耳机或者头戴式耳机。 同样在适当的情况下通过APP所使用的音频流基础之上来控制播放停止暂停跳过以及原始的媒体播放按键都应该执行其各自的行为和功能。 识别所用的音频流 创建可预测的音频体验的第一步是理解APP将使用的音频流。 Android对播放音乐、闹钟、通知以及电话铃声、系统声音、呼叫音量和DTMF铃声都维护了单独的音频流。这么做主要是允许用户可以控制每个流各自的音频。 大部分流都会受限于系统事件所以除非APP是个闹钟应用否则几乎可以确定APP播放音频所使用的就是STREAM_MUSIC流。 使用物理按键控制APP声音的音量 默认情况下按下音量键会修改当前正在活动的音频流的音量。如果APP当前没有播放任何东西按下音量键只会调整铃声的音量。 如果正在使用一款游戏APP或者音乐APP那么当用户按下音量键的时候调整音量是极好的因为用户想要控制游戏或者音乐的音量即使现在在两首歌之间或者当前的游戏界面上没有播放音乐。 你可能想试着监听音量按键的按下事件然后修改音频流的音量。忍住这股冲动吧。Android提供了更方便的setVolumeControlStream()方法来让音量键直接用于到你所指定的音频流。 如果已经确认使用的音频流类型你应该将其设置为音量流的目标。你应该确保这个调用在APP的生命周期之前因为只需要在Activity的生命周期中调用一次你应该在具有代表性的方法中调用它比如onCreate()方法。这可以确保每当APP处于可见状态时音量控制功能可用更符合用户的期望。 setVolumeControlStream(AudioManager.STREAM_MUSIC); 从这点往后每当目标activity或者fragment可见时按下设备上的音量键会影响你所指定的音频流(在这个例子中是”音乐”)。 使用物理播放控制键来控制APP的音频播放 媒体播放按钮如播放、暂停、停止、跳跃和以前的一些手机和许多有线连接或无线连接的耳机。当用户按下了其中的某个键时系统会广播一个ACTION_MEDIA_BUTTON行为的意图。 为了响应媒体按钮的点击事件你需要在清单文件中注册一个BroadcastReceiver以便监听这个广播行为 receiver android:name.RemoteControlReceiverintent-filteraction android:nameandroid.intent.action.MEDIA_BUTTON //intent-filter /receiver 接收器的实现需要提取出哪一个键被按下而引起的广播。Intent会包含EXTRA_KEY_EVENT这个依据类KeyEvent中包含了一列以KEYCODE_MEDIA_*开头的静态常量这些静态常量代表了每个按下的媒体键比如KEYCODE_MEDIA_PLAY_PAUSE及KEYCODE_MEDIA_NEXT。 下面这段代码展示了如何抽取媒体键的按下事件以及来影响媒体的播放 public class RemoteControlReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {KeyEvent event (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);if (KeyEvent.KEYCODE_MEDIA_PLAY event.getKeyCode()) {// Handle key press.}}} } 因为可能存在多个程序想要监听媒体按钮的按下事件所以APP应该接收媒体按钮按下事件时你还必须通过编程来进行动态的控制。 下面的代码可以直接应用到APP中去它可以通过AudioManager来注册与解注媒体按钮事件接收器。当被注册后广播接收器会专门接收所有的媒体按钮广播。 AudioManager am mContext.getSystemService(Context.AUDIO_SERVICE); ... // Start listening for button presses am.registerMediaButtonEventReceiver(RemoteControlReceiver); ... // Stop listening for button presses am.unregisterMediaButtonEventReceiver(RemoteControlReceiver); 从通常情况上讲APP应该在不活动时或者不可见时解注其它的接收器(比如onStop()回调方法)。然而对媒体播放APP来说没有那么简单实际上当程序不可见以及不能够屏幕上的UI来控制媒体播放时这时通过广播响应媒体播放按钮事件就非常重要了。 更进一步的方法就是当程序获取或者失去音频焦点时注册或者解注媒体按钮事件接收器。这些知识将会在下节课详细讨论。
http://www.zqtcl.cn/news/66174/

相关文章:

  • 提供企业网站建设凡科快图官方下载
  • 软件开发工程师报考条件专业的seo外包公司
  • 建设银行网站钓鱼网站做网站在哪个程序做
  • 网站群发推广软件推荐上海网站建站品牌
  • 对于网站建设的体会保定网站建设培训班
  • typecho做网站php网站开发案例pdf
  • 免费软件下载官方网站网店美工主要负责哪些工作
  • 成都网站建设优秀公司济南建设网站公司
  • 网站建设 软文发布怎么查什么时候做的网站
  • 天津网络建站模板高端网站制作建设
  • 创业邦使用什么网站模板五大常用办公软件
  • 做网站如何用代码把字体变大我的网站不做推广 百度能搜索到我网站吗
  • 我图网类网站建设给wordpress添加小图标
  • 阿里云怎么放多个网站印刷企业网站模板
  • 辽宁企业网站建设分类网站建设方案
  • 看动漫是怎么做视频网站手机端页面模板
  • 网站建设的公司好做吗汕头cms模板建站
  • 免费模板简历网站松江企业做网站
  • wdcp网站建设Wordpress多语言配置
  • 乐山做网站的公司昆明网站建设 昆明光硕
  • 会员类网站模板大气网站欣赏
  • 中英文网站开发网站商城建设方案
  • 自助网站免费建站平台东莞市做网站的最好的是哪家的
  • 酒类网站建设方案Wordpress页面函数
  • 建网站哪个公司好住房城乡建设网站藁城
  • 国外做装饰画的网站百度网站怎么建设的
  • 制作一个网站多少钱衡阳网站开发培训
  • 网站元素优化 移动站新网站如何做网站优化
  • 云南云桥建设股份有限公司官方网站单页设计思路
  • 杭州搭建网站闵行区网页设计公司