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

济南住房和城乡建设部网站做网站推广也要营业执照吗

济南住房和城乡建设部网站,做网站推广也要营业执照吗,有什么牌子网站是响应式,python编程代码大全问题描述: 自定义按键音播放,在Launcher上按 上下左右和OK 按键发现会播放两次按键提示音,其他的都是正常的。 首先找一下播放的是哪个文件,在下面的README中有定义 frameworks/base/data/sounds/README.txtTouch sounds -------…

问题描述:

自定义按键音播放,在Launcher上按 上下左右和OK 按键发现会播放两次按键提示音,其他的都是正常的。

首先找一下播放的是哪个文件,在下面的README中有定义

frameworks/base/data/sounds/README.txtTouch sounds
------------effects/Effect_Tick.oggold, referenced by AudioPackage[2345].mk OriginalAudio.mkeffects/ogg/Effect_Tick.oggnew, referenced by AudioPackage[6789].mk AudioPackage7alt.mk AudioPackage10.mkeffects/ogg/Effect_Tick_48k.oggoggdec -o temp.wav ogg/Effect_Tick.oggsox temp.wav -r 48000 temp48k.wavoggenc -b 80 -o ogg/Effect_Tick_48k.ogg temp48k.waveffects/wav/Effect_Tick.wavdoes not appear to be related to the other files in any obvious way

也就是触摸和点击事件都是播放的 Effect_Tick 这个音频文件。直接检索这个在哪里调用。

 xml文件是为了替换默认声音资源,并且可以看到很多需要的如上下左右都在这里定义了,并且播放的都是Effect_Tick。

framework/base/core/res/res/xml/audio_assets.xml<!-- Mapping of UI sound effects to audio assets under /system/media/audio/ui.Modify this file to override default sound assets.
--><audio_assets version="1.0"><asset id="FX_KEY_CLICK" file="Effect_Tick.ogg"/><asset id="FX_FOCUS_NAVIGATION_UP" file="Effect_Tick.ogg"/><asset id="FX_FOCUS_NAVIGATION_DOWN" file="Effect_Tick.ogg"/><asset id="FX_FOCUS_NAVIGATION_LEFT" file="Effect_Tick.ogg"/><asset id="FX_FOCUS_NAVIGATION_RIGHT" file="Effect_Tick.ogg"/><asset id="FX_KEYPRESS_STANDARD" file="KeypressStandard.ogg"/><asset id="FX_KEYPRESS_SPACEBAR" file="KeypressSpacebar.ogg"/><asset id="FX_KEYPRESS_DELETE" file="KeypressDelete.ogg"/><asset id="FX_KEYPRESS_RETURN" file="KeypressReturn.ogg"/><asset id="FX_KEYPRESS_INVALID" file="KeypressInvalid.ogg"/><asset id="FX_BACK

再根据 SoundEffectsHelper.java 找到实现播放的方法 void playSoundEffect(int effect, int volume)

其实是在 AudioService.java 定义的 

    /** @see AudioManager#playSoundEffect(int) */public void playSoundEffect(int effectType) {playSoundEffectVolume(effectType, -1.0f);}/** @see AudioManager#playSoundEffect(int, float) */public void playSoundEffectVolume(int effectType, float volume) {// do not try to play the sound effect if the system stream is mutedif (isStreamMute(STREAM_SYSTEM)) {return;}if (effectType >= AudioManager.NUM_SOUND_EFFECTS || effectType < 0) {Log.w(TAG, "AudioService effectType value " + effectType + " out of range");return;}sendMsg(mAudioHandler, MSG_PLAY_SOUND_EFFECT, SENDMSG_QUEUE,effectType, (int) (volume * 1000), null, 0);}

 根据注释,可以确定是通过 AudioManager 调用的。目前已经确定了播放按键提示音的调用方法。再次检索。

是在这里实现的播放

    @Overridepublic void playSoundEffect(@SoundEffectConstants.SoundEffect int effectId) {checkThread();try {final AudioManager audioManager = getAudioManager();if (mFastScrollSoundEffectsEnabled&& SoundEffectConstants.isNavigationRepeat(effectId)) {audioManager.playSoundEffect(SoundEffectConstants.nextNavigationRepeatSoundEffectId());return;}if (true) {Log.e(TAG, "lichang playSoundEffect avoid click tone");return;}switch (effectId) {case SoundEffectConstants.CLICK:audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);return;case SoundEffectConstants.NAVIGATION_DOWN:case SoundEffectConstants.NAVIGATION_REPEAT_DOWN:audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_DOWN);return;case SoundEffectConstants.NAVIGATION_LEFT:case SoundEffectConstants.NAVIGATION_REPEAT_LEFT:audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_LEFT);return;case SoundEffectConstants.NAVIGATION_RIGHT:case SoundEffectConstants.NAVIGATION_REPEAT_RIGHT:audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_RIGHT);return;case SoundEffectConstants.NAVIGATION_UP:case SoundEffectConstants.NAVIGATION_REPEAT_UP:audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_UP);return;default:throw new IllegalArgumentException("unknown effect id " + effectId +" not defined in " + SoundEffectConstants.class.getCanonicalName());}} catch (IllegalStateException e) {// Exception thrown by getAudioManager() when mView is nullLog.e(mTag, "FATAL EXCEPTION when attempting to play sound effect: " + e);e.printStackTrace();}}

直接屏蔽掉即可。或者其实从 framework/base/core/res/res/xml/audio_assets.xml 也可以看到有方向键等音频资源,可以通过检索直接定位到位置。

只在framework下检索是因为对日志进行分析,过滤Audiotrack

11:42:03.414 AudioTrack                I  start mClientAttributionSource.uid:1000 mClientAttributionSource.pid:1013  mSessionId:129 app name:system_server 
11:42:03.433 AudioTrack                I  start mClientAttributionSource.uid:1000 mClientAttributionSource.pid:1013  mSessionId:145 app name:system_server 
11:42:03.525 AudioTrack                I  stop mClientAttributionSource.uid:1000 mClientAttributionSource.pid:1013  mSessionId:129 app name:system_server 
11:42:03.553 AudioTrack                I  stop mClientAttributionSource.uid:1000 mClientAttributionSource.pid:1013  mSessionId:145 app name:system_server 
可以看到这两次声音播放都是 system_server 这个进程调用的。

补充,由于是自定义按键音播放的,因此需要实现原生的按键音开关功能,增加条件

            if (System.getInt(context.getContentResolver(), System.SOUND_EFFECTS_ENABLED, 1) == 1)
                    playEffect(context);

结束

http://www.yayakq.cn/news/291676/

相关文章:

  • 手机百度关键词排名 seo网站优化软件营销型网站定位
  • 用什么软件做网站hao东风地区网站建设公司
  • 微信公众号做视频网站微信小商店官网入口
  • 东莞建设教育网站h5响应式网站制作
  • 新网 主办网站已备案wordpress后台菜单
  • 橙色短信网站模板网站后台管理系统如何使用
  • 丰台深圳网站建设公司软件定制开发软件开发
  • 怎么注册网站挣流量动漫网站建设总结
  • 南昌市建设工程质量监督网站wordpress 分类 如何修改
  • jsp做网站用到的软件网页浏览器tv版
  • 个人物流网站建设方案html5汽车网站模板
  • 建立网站后怎么维护typecho前端建站工具
  • 网站开发参考资料网页制作作业源代码
  • 永久免费自动建站网站开发环境是什么意思
  • 岳阳网站设计深圳网站建设维护服务
  • 四川住房和城乡建设厅网站首页哈尔滨做平台网站平台公司哪家好
  • 网站备案 公章用ps设计网页页面步骤
  • 购物网站的设计思路传媒公司签约主播合同
  • 一个网站空间可以做多少个网站线上运营推广
  • html网站更新wordpress代码编辑器
  • 手机wap网站制作做求职网站市场
  • 北京企业做网站报价社交系统开发
  • 团工作网站建设意见廊坊做网站公司排名
  • python爬数据做网站有什么有什么好的学做饮品的网站
  • php购物网站开发实例源码做网站竞争者的优势
  • 站长工具seo综合查询下载安装北京网站建设yi wl
  • 网站图片的像素如何进入网站后台 被黑
  • 网站备案信息加到哪里怎样下载建设银行信用卡网站
  • 网站权重问题新乡网站设计公司
  • 网站吸引人的功能成都产品网站建设