cocos2d-x下硬件音量按键控制游戏音量的实现
本文连接(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下硬件音量按键控制游戏音量的实现相关推荐
- fl2440——按键控制madplay音乐播放器
今日诗词分享:该段诗词描述的是国产武侠游戏<剑侠情缘三>中的职业--天策(游戏中对唐朝军人的称呼). 天策 长河落日东都城,铁马戍边将军坟. 尽诛宵小天策义,长枪独守大唐魂. ====== ...
- qml自学笔记------自己写类似于劲舞团的按键小游戏(下)
接上篇<qml自学笔记------自己写类似于劲舞团的按键小游戏(中)> 第四部分 PauseButton.qml 和 RestartButton.qml 第四部分其实就是两个按键,一个是 ...
- Unity—实现通过按键控制2D游戏物体的移动
控制游戏物体的移动 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ...
- 最简单DIY基于STM32的远程控制电脑系统①(电容触摸+按键控制)
STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...
- 游戏编程入门(5):使用键盘和鼠标控制游戏
接上文 游戏编程入门(4):绘制图形图像 本文内容包括: 如何有效地检测和响应键盘输入 如何处理鼠标输入 如何开发带有动画图形对象的程序,并且可以使用键盘和鼠标来控制动画图形对象 用户输入设备 输入设 ...
- [Unity 3D] 使用Audio Mixer分别控制主音量、背景音乐和其他音效
前言 在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击.爆炸之类)的音量,这时我们可以用Audio Mixer来解决. 如果文章中有哪些地方写的不对, 欢迎 ...
- led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...
- 一个按键控制数码管的开和关_三菱PLC数码管显示及按键控制实验
三菱PLC数码管显示及按键控制实验 日常工程中,有时需要显示一个温度或是一个计数,或是修改一个按键值,使用触屏是一个不错的选择,但有时不想那么复杂,可以使用数码管吗?当然可以,风哥来分享一款自己设计的 ...
- android 锁屏音量,Android锁屏状态获取音量按键事件
Android系统没有提供音量按键的广播,而Activity的onKeyDown方法只有在界面显示时才能捕获音量变化, 要在锁屏状态或后台获得音量按键事件,可以通过判断音量值的改变来判断是否按下了音量 ...
最新文章
- SciHub下载量成论文影响力预测指标:能被下载的论文被引次数高出72%
- python 内置函数 eval()函数 (用来执行一个字符串表达式,并返回表达式的值)
- 台湾瑞萨Synergy 助客户攻物联网
- 【BZOJ 2432】 [Noi2011]兔农 矩乘+数论
- IntelliJ IDEA添加jar包
- g++编译时的常用选项说明
- Opencv--IplImage访问图像像素的值
- oracle存储过程可以回退吗,Navicat 运行 Oracle 存储过程示例
- hive出现内存溢出_hive问题处理
- java spring 源码下载_Spring源码下载
- 揭秘小红书的种草套路
- 关闭 Eureka 的自我保护机制
- Prometheus+Grafana监控安装及使用
- 针对Windows10下EPLAN2.7频繁重启的解决办法
- 10分钟教你搭建自己的ngrok服务器
- 岭回归原理简单分析与理解
- Python将dat文件转化csv文件
- [普通物理]波的能量与干涉
- javascript+html做一个俄罗斯方块的小游戏
- 什么是原始股?如何购买原始股?