本文连接(http://blog.csdn.net/keven418440201/article/details/9138721)

最近在用cocos2d-x写一个小游戏,快完工时发现,游戏的背景音乐和音效的音量大小不受手机(android OS)音量调节按键的控制。几经周折才发现,cocos2d-x根本没实现相关功能(个人意见,有其他方实现的可联系我,多谢),于是最后修改了cocos2d-x在android端的源代码(Cocos2dxActivity),实现方法如下:

 private AudioManager mAudioManager;......@Overrideprotected void onCreate(final Bundle savedInstanceState) {super.onCreate(savedInstanceState);......mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);......}......@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);switch(keyCode){case KeyEvent.KEYCODE_VOLUME_UP:mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume+1, 1);return true;case KeyEvent.KEYCODE_VOLUME_DOWN:mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume-1, 1);return true;}return super.onKeyDown(keyCode, event);}private AudioManager mAudioManager;......@Overrideprotected void onCreate(final Bundle savedInstanceState) {super.onCreate(savedInstanceState);......mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);......}......@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);switch(keyCode){case KeyEvent.KEYCODE_VOLUME_UP:mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume+1, 1);return true;case KeyEvent.KEYCODE_VOLUME_DOWN:mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume-1, 1);return true;}return super.onKeyDown(keyCode, event);}

最后不要忘记了添加权限:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

按照以上方法,在android OS下测试手机音量调节按键可以正常控制游戏的音量大小。

个人发现的笨办法,有其他好办法的欢迎留言。

最后给自己写的小游戏打下广告,一个释放你压力的小游戏,一个你敢叫它敢动的小游戏。敢不敢来试下?

点击下载,或在 Google Play Store 搜索 Make a Noise

cocos2d-x下硬件音量按键控制游戏音量的实现相关推荐

  1. fl2440——按键控制madplay音乐播放器

    今日诗词分享:该段诗词描述的是国产武侠游戏<剑侠情缘三>中的职业--天策(游戏中对唐朝军人的称呼). 天策 长河落日东都城,铁马戍边将军坟. 尽诛宵小天策义,长枪独守大唐魂. ====== ...

  2. qml自学笔记------自己写类似于劲舞团的按键小游戏(下)

    接上篇<qml自学笔记------自己写类似于劲舞团的按键小游戏(中)> 第四部分 PauseButton.qml 和 RestartButton.qml 第四部分其实就是两个按键,一个是 ...

  3. Unity—实现通过按键控制2D游戏物体的移动

    控制游戏物体的移动 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ...

  4. 最简单DIY基于STM32的远程控制电脑系统①(电容触摸+按键控制)

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...

  5. 游戏编程入门(5):使用键盘和鼠标控制游戏

    接上文 游戏编程入门(4):绘制图形图像 本文内容包括: 如何有效地检测和响应键盘输入 如何处理鼠标输入 如何开发带有动画图形对象的程序,并且可以使用键盘和鼠标来控制动画图形对象 用户输入设备 输入设 ...

  6. [Unity 3D] 使用Audio Mixer分别控制主音量、背景音乐和其他音效

    前言 在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击.爆炸之类)的音量,这时我们可以用Audio Mixer来解决. 如果文章中有哪些地方写的不对, 欢迎 ...

  7. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  8. 一个按键控制数码管的开和关_三菱PLC数码管显示及按键控制实验

    三菱PLC数码管显示及按键控制实验 日常工程中,有时需要显示一个温度或是一个计数,或是修改一个按键值,使用触屏是一个不错的选择,但有时不想那么复杂,可以使用数码管吗?当然可以,风哥来分享一款自己设计的 ...

  9. android 锁屏音量,Android锁屏状态获取音量按键事件

    Android系统没有提供音量按键的广播,而Activity的onKeyDown方法只有在界面显示时才能捕获音量变化, 要在锁屏状态或后台获得音量按键事件,可以通过判断音量值的改变来判断是否按下了音量 ...

最新文章

  1. SciHub下载量成论文影响力预测指标:能被下载的论文被引次数高出72%
  2. python 内置函数 eval()函数 (用来执行一个字符串表达式,并返回表达式的值)
  3. 台湾瑞萨Synergy 助客户攻物联网
  4. 【BZOJ 2432】 [Noi2011]兔农 矩乘+数论
  5. IntelliJ IDEA添加jar包
  6. g++编译时的常用选项说明
  7. Opencv--IplImage访问图像像素的值
  8. oracle存储过程可以回退吗,Navicat 运行 Oracle 存储过程示例
  9. hive出现内存溢出_hive问题处理
  10. java spring 源码下载_Spring源码下载
  11. 揭秘小红书的种草套路
  12. 关闭 Eureka 的自我保护机制
  13. Prometheus+Grafana监控安装及使用
  14. 针对Windows10下EPLAN2.7频繁重启的解决办法
  15. 10分钟教你搭建自己的ngrok服务器
  16. 岭回归原理简单分析与理解
  17. Python将dat文件转化csv文件
  18. [普通物理]波的能量与干涉
  19. javascript+html做一个俄罗斯方块的小游戏
  20. 什么是原始股?如何购买原始股?

热门文章

  1. IP地址的三种表示方式是什么
  2. python urllib2爬虫下的一些坑和感悟
  3. SEO搜索引擎方案制作与数字货币交易所SEO方案模版制作
  4. 全面解读居住证积分新政,赶紧看看你离落户上海还有多远!
  5. 运营(朋友圈内容):卖货的朋友圈,该发哪些内容?
  6. 天空之城系统开发模式源码
  7. Win7下Bonobo_Git_Server服务器的搭建
  8. 自己动手汉化一个英文软件
  9. ​危机——疫情是“危”,5G是“机”
  10. Arduino提高篇24—摇杆调节时钟时间