summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Wang <jaywang@codeaurora.org>2016-04-22 16:01:50 -0700
committerMichael Bestas <mikeioannina@cyanogenmod.org>2016-05-26 09:49:07 -0700
commited07584abbb3aa9d01ab1cfc999db775b1d8000c (patch)
treeb715913229b4994b51c8c698564dd5105d29114a
parentccd3e81c382dd72761ebf3947599c94f8fe0def2 (diff)
downloadandroid_packages_apps_Snap-ed07584abbb3aa9d01ab1cfc999db775b1d8000c.tar.gz
android_packages_apps_Snap-ed07584abbb3aa9d01ab1cfc999db775b1d8000c.tar.bz2
android_packages_apps_Snap-ed07584abbb3aa9d01ab1cfc999db775b1d8000c.zip
SnapdragonCamera: request audio focus before starting video recording
Use audio focus API to stop other music streams when starting video recording. Change-Id: I0097d0c2bd7157bc1936b9120bbe7c917b9707ee CRs-Fixed: 1005855
-rw-r--r--src/com/android/camera/VideoModule.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 85be83d9c..f305c5f3d 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -38,6 +38,7 @@ import android.location.Location;
import android.media.CamcorderProfile;
import android.media.CameraProfile;
import android.media.MediaRecorder;
+import android.media.AudioManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@@ -1837,13 +1838,17 @@ public class VideoModule implements CameraModule,
* Make sure we're not recording music playing in the background, ask the
* MediaPlaybackService to pause playback.
*/
- private void pauseAudioPlayback() {
- // Shamelessly copied from MediaPlaybackService.java, which
- // should be public, but isn't.
- Intent i = new Intent("com.android.music.musicservicecommand");
- i.putExtra("command", "pause");
+ private void requestAudioFocus() {
+ AudioManager am = (AudioManager)mActivity.getSystemService(Context.AUDIO_SERVICE);
- mActivity.sendBroadcast(i);
+ // Send request to obtain audio focus. This will stop other
+ // music stream.
+ int result = am.requestAudioFocus(null, AudioManager.STREAM_MUSIC,
+ AudioManager.AUDIOFOCUS_GAIN);
+
+ if (result == AudioManager.AUDIOFOCUS_REQUEST_FAILED) {
+ Log.v(TAG, "Audio focus request failed");
+ }
}
// For testing.
@@ -1904,7 +1909,7 @@ public class VideoModule implements CameraModule,
return false;
}
- pauseAudioPlayback();
+ requestAudioFocus();
try {
mMediaRecorder.start(); // Recording is now started