Android APIs
public class

MediaActionSound

extends Object
java.lang.Object
   ↳ android.media.MediaActionSound

Class Overview

A class for producing sounds that match those produced by various actions taken by the media and camera APIs.

Use this class to play an appropriate camera operation sound when implementing a custom still or video recording mechanism (through the Camera preview callbacks with Camera.setPreviewCallback, or through GPU processing with Camera.setPreviewTexture, for example), or when implementing some other camera-like function in your application.

There is no need to play sounds when using Camera.takePicture or MediaRecorder for still images or video, respectively, as the Android framework will play the appropriate sounds when needed for these calls.

Summary

Constants
int FOCUS_COMPLETE A sound to indicate that focusing has completed.
int SHUTTER_CLICK The sound used by Camera.takePicture to indicate still image capture.
int START_VIDEO_RECORDING The sound used by MediaRecorder.start() to indicate the start of video recording.
int STOP_VIDEO_RECORDING The sound used by MediaRecorder.stop() to indicate the end of video recording.
Public Constructors
MediaActionSound()
Construct a new MediaActionSound instance.
Public Methods
synchronized void load(int soundName)
Preload a predefined platform sound to minimize latency when the sound is played later by play(int).
synchronized void play(int soundName)

Play one of the predefined platform sounds for media actions.

void release()
Free up all audio resources used by this MediaActionSound instance.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int FOCUS_COMPLETE

Added in API level 16

A sound to indicate that focusing has completed. Because deciding when this occurs is application-dependent, this sound is not used by any methods in the media or camera APIs.

See Also
Constant Value: 1 (0x00000001)

public static final int SHUTTER_CLICK

Added in API level 16

The sound used by Camera.takePicture to indicate still image capture.

See Also
Constant Value: 0 (0x00000000)

public static final int START_VIDEO_RECORDING

Added in API level 16

The sound used by MediaRecorder.start() to indicate the start of video recording.

See Also
Constant Value: 2 (0x00000002)

public static final int STOP_VIDEO_RECORDING

Added in API level 16

The sound used by MediaRecorder.stop() to indicate the end of video recording.

See Also
Constant Value: 3 (0x00000003)

Public Constructors

public MediaActionSound ()

Added in API level 16

Construct a new MediaActionSound instance. Only a single instance is needed for playing any platform media action sound; you do not need a separate instance for each sound type.

Public Methods

public synchronized void load (int soundName)

Added in API level 16

Preload a predefined platform sound to minimize latency when the sound is played later by play(int).

Parameters
soundName The type of sound to preload, selected from SHUTTER_CLICK, FOCUS_COMPLETE, START_VIDEO_RECORDING, or STOP_VIDEO_RECORDING.

public synchronized void play (int soundName)

Added in API level 16

Play one of the predefined platform sounds for media actions.

Use this method to play a platform-specific sound for various media actions. The sound playback is done asynchronously, with the same behavior and content as the sounds played by Camera.takePicture, MediaRecorder.start, and MediaRecorder.stop.

Using this method makes it easy to match the default device sounds when recording or capturing data through the preview callbacks, or when implementing custom camera-like features in your application.

If the sound has not been loaded by load(int) before calling play, play will load the sound at the cost of some additional latency before sound playback begins.

Parameters
soundName The type of sound to play, selected from SHUTTER_CLICK, FOCUS_COMPLETE, START_VIDEO_RECORDING, or STOP_VIDEO_RECORDING.

public void release ()

Added in API level 16

Free up all audio resources used by this MediaActionSound instance. Do not call any other methods on a MediaActionSound instance after calling release().