为了让用户控制音量,我的
Android应用程序有一个菜单,其中包含一个滑块,在拖动时提供从0到10的int值.在我获得一个值之后,我必须将音量设置为用户选择的相应值,而且,这是我不知道要实现的部分,我想找到它.
解决方法
使用
AudioManager类.基本上代码如下:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUdio_SERVICE); audioManager.setStreamVolume(streamType,volume,flags);
问题是设备的体积不一定像滑块中那样从0到10映射.在我的模拟器上,它是从0到7.所以你需要做的是getStreamMaxVolume(…)来了解你的最大值,然后计算你的值作为其中的一小部分.例如,如果您的用户选择10个中的8个音量,则相当于0.8 * 7 = 5.6,您应该将其调整为7个中的6个.
“流”指的是诸如铃声音量,通知音量,音乐音量等等.如果您想要更改铃声的音量,您需要确保所有命令都将AudioManager.STREAM_RING作为streamType.