diff options
author | Chih-Chung Chang <chihchung@google.com> | 2011-10-17 19:03:12 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2011-10-17 19:04:00 +0800 |
commit | 4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e (patch) | |
tree | a69a94cd7e42ff7aa38702674c83f31b289f7d74 /services/camera/libcameraservice/CameraService.cpp | |
parent | bd9d2bcdebfa66a0f71fa67aa256dcae4ccd93da (diff) | |
download | frameworks_base-4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e.zip frameworks_base-4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e.tar.gz frameworks_base-4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e.tar.bz2 |
Fix 5468644: Use the proper audio stream type to play sound.
Change-Id: I80dd37da277b1810959a2dbdd852078b26f70cf5
Diffstat (limited to 'services/camera/libcameraservice/CameraService.cpp')
-rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index f306e4a..171710a 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -97,6 +97,16 @@ void CameraService::onFirstRef() setCameraFree(i); } } + + // Read the system property to determine if we have to use the + // AUDIO_STREAM_ENFORCED_AUDIBLE type. + char value[PROPERTY_VALUE_MAX]; + property_get("ro.camera.sound.forced", value, "0"); + if (strcmp(value, "0") != 0) { + mAudioStreamType = AUDIO_STREAM_ENFORCED_AUDIBLE; + } else { + mAudioStreamType = AUDIO_STREAM_MUSIC; + } } CameraService::~CameraService() { @@ -282,21 +292,10 @@ void CameraService::setCameraFree(int cameraId) { // A reference count is kept to determine when we will actually release the // media players. -static MediaPlayer* newMediaPlayer(const char *file) { - // Read the system property to determine if we have need to use the - // AUDIO_STREAM_ENFORCED_AUDIBLE type. - char value[PROPERTY_VALUE_MAX]; - property_get("ro.camera.sound.forced", value, "0"); - int audioStreamType; - if (strcmp(value, "0") != 0) { - audioStreamType = AUDIO_STREAM_ENFORCED_AUDIBLE; - } else { - audioStreamType = AUDIO_STREAM_MUSIC; - } - +MediaPlayer* CameraService::newMediaPlayer(const char *file) { MediaPlayer* mp = new MediaPlayer(); if (mp->setDataSource(file, NULL) == NO_ERROR) { - mp->setAudioStreamType(audioStreamType); + mp->setAudioStreamType(mAudioStreamType); mp->prepare(); } else { LOGE("Failed to load CameraService sounds: %s", file); @@ -335,7 +334,7 @@ void CameraService::playSound(sound_kind kind) { // do not play the sound if stream volume is 0 // (typically because ringer mode is silent). int index; - AudioSystem::getStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, &index); + AudioSystem::getStreamVolumeIndex(mAudioStreamType, &index); if (index != 0) { player->seekTo(0); player->start(); |