Android4.0 音量大小

來源:互聯網
上載者:User
1. 音量大小流程

AudioManager.java->

    AudioService.java(調節音量)->

        AudioSystem.java->

           android_media_AudioSystem.cpp->

              AudioSystem.cpp->

                  AudioPolicyService.cpp->

                     Audio HAL

2. 相關資料結構

1) VolumeStreamState: 儲存音量值

2) Default和MAX值

#### AudioManager.java

    /**  @hide Default volume index values for audio streams */    public static final int[] DEFAULT_STREAM_VOLUME = new int[] {        4,  // STREAM_VOICE_CALL        7,  // STREAM_SYSTEM        5,  // STREAM_RING        11, // STREAM_MUSIC        6,  // STREAM_ALARM        5,  // STREAM_NOTIFICATION        7,  // STREAM_BLUETOOTH_SCO        7,  // STREAM_SYSTEM_ENFORCED        11, // STREAM_DTMF        11  // STREAM_TTS    };

 

#### AudioService.java

   /** @hide Maximum volume index values for audio streams */    private int[] MAX_STREAM_VOLUME = new int[] {        5,  // STREAM_VOICE_CALL        7,  // STREAM_SYSTEM        7,  // STREAM_RING        15, // STREAM_MUSIC        7,  // STREAM_ALARM        7,  // STREAM_NOTIFICATION        15, // STREAM_BLUETOOTH_SCO        7,  // STREAM_SYSTEM_ENFORCED        15, // STREAM_DTMF        15  // STREAM_TTS    };

 

3) 流名字

Settings.java

        /**         * The mapping of stream type (integer) to its setting.         */        public static final String[] VOLUME_SETTINGS = {            VOLUME_VOICE, VOLUME_SYSTEM, VOLUME_RING, VOLUME_MUSIC,            VOLUME_ALARM, VOLUME_NOTIFICATION, VOLUME_BLUETOOTH_SCO        };        public static final String MODE_RINGER = "mode_ringer";        public static final String MODE_RINGER_STREAMS_AFFECTED = "mode_ringer_streams_affected";        public static final String MUTE_STREAMS_AFFECTED = "mute_streams_affected";        public static final String VIBRATE_ON = "vibrate_on";        public static final String VOLUME_RING = "volume_ring";        public static final String VOLUME_SYSTEM = "volume_system";        public static final String VOLUME_VOICE = "volume_voice";        /**         * Music/media/gaming volume. This is used internally, changing this         * value will not change the volume. See AudioManager.         */        public static final String VOLUME_MUSIC = "volume_music";        public static final String VOLUME_ALARM = "volume_alarm";        public static final String VOLUME_NOTIFICATION = "volume_notification";        public static final String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.