Android通过AudioFlinger限制音量最大值
16lz
2021-01-23
限制Android最大音量的实际大小:
--- a/frameworks/av/services/audioflinger/AudioFlinger.cpp+++ b/frameworks/av/services/audioflinger/AudioFlinger.cpp@@ -917,6 +917,10 @@ status_t AudioFlinger::checkStreamType(audio_stream_type_t stream) conststatus_t AudioFlinger::setStreamVolume(audio_stream_type_t stream, float value, audio_io_handle_t output){+ ALOGW("AudioFlinger.setStreamVolume()stream=%d,value=%f", stream, value);+ if (value > 0.58)+ value = 0.58; // check calling permissions if (!settingsAllowed()) { return PERMISSION_DENIED;
Android上层将音量分为16个等级,底层对应的值:
Level value0 0.0000001 0.0030872 0.0078483 0.0199534 0.0296835 0.0474796 0.0749907 0.1115588 0.1773189 0.28183910 0.34080111 0.42535412 0.53080513 0.64194914 0.80121715 1.000000
更多相关文章
- Android实现音量调节的方法
- android底层开发入门(3)-Android Driver前篇
- Android 添加底层核心服务
- Android 4.4 音量调节流程分析(一)
- Android okhttp3 创建Socket的底层实现追踪
- 关于控制android音频流的音量
- Android:VolumeShaper——音频音量控制