ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2015年9月9日 星期三

AudioCommand 只有 AudioPolicyService 使用。
command 有:
  • start/stopTone
  • volume
  • parameters
  • voiceVolume
  • stopOutput
  • releaseOutput
  • createAudioPatch
  • releseAudioPatch
  • updateAudioPortList
  • updateAudioPatchList
  • setAuidioPortConfig

AUDIO_STREAM_XX 定義在 system/core/include/system/audio.h
/* Audio stream types */
typedef enum {
    /* These values must kept in sync with
     * frameworks/base/media/java/android/media/AudioSystem.java
     */
    AUDIO_STREAM_DEFAULT          = -1,
    AUDIO_STREAM_MIN              = 0,
    AUDIO_STREAM_VOICE_CALL       = 0,
    AUDIO_STREAM_SYSTEM           = 1,
    AUDIO_STREAM_RING             = 2,
    AUDIO_STREAM_MUSIC            = 3,
    AUDIO_STREAM_ALARM            = 4,
    AUDIO_STREAM_NOTIFICATION     = 5,
    AUDIO_STREAM_BLUETOOTH_SCO    = 6,
    AUDIO_STREAM_ENFORCED_AUDIBLE = 7, /* Sounds that cannot be muted by user
                                        * and must be routed to speaker
                                        */
    AUDIO_STREAM_DTMF             = 8,
    AUDIO_STREAM_TTS              = 9,

    AUDIO_STREAM_CNT,
    AUDIO_STREAM_MAX              = AUDIO_STREAM_CNT - 1,
} audio_stream_type_t;
有說明:這個順序要和 AudioSystem.java 一致。

AudioSystem 好像是所有 audio 的 hub
裡面都是 static function,
所以其他的 code 都可以置接用 AudioSystem::setAudioPortConfig( ), AudioSystem::get_audio_flinger( ).. etc
來使用 audio flinger, policy, manager 的服務。

沒有留言:

標籤

網誌存檔