Google is committed to advancing racial equity for Black communities. See how.

fuchsia.media.sounds

PROTOCOLS

Player

Defined in fuchsia.media.sounds/sound_player.fidl

Allows clients to play fire-and-forget sounds.

AddSoundBuffer

Adds a sound, in the form of a buffer containing raw PCM samples, to the collection maintained for the client. The service will retain a handle to the buffer's VMO until the sound is removed and is no longer playing or until the connection is closed.

If id identifies an existing sound in the collection, the service will close the connection.

Request

NameType
id uint32
buffer fuchsia.mem/Buffer
stream_type fuchsia.media/AudioStreamType

AddSoundFromFile

Adds a sound to the collection maintained for the client, reading the sound from a file. If id identifies an existing sound in the collection, the service will close the connection. Returns the duration of the sound or an error status returned from an I/O operation.

Currently, only PCM WAV files and Ogg/Opus files are supported.

Request

NameType
id uint32
file fuchsia.io/File

Response

NameType
result Player_AddSoundFromFile_Result

PlaySound

Plays the existing sound identified by id using a renderer with usage usage. The sound is played as soon as possible. The reply is sent when the sound is finished playing. If id doesn't identify an existing sound in the collection, the method returns PlaySoundError.NO_SUCH_SOUND. The most recent PlaySound call for a given valid id can be stopped using StopPlayingSound, in which case, this method returns PlaySoundError.STOPPED.

Request

NameType
id uint32
usage fuchsia.media/AudioRenderUsage

Response

NameType
result Player_PlaySound_Result

RemoveSound

Removes a sound from the collection maintained for the client. A sound can be removed even if a PlaySound method is pending for that sound.

If id doesn't identify an existing sound in the collection, the service will do nothing. This is tolerated so that clients don't have to wait for the response from AddSoundFromFile before playing and removing the sound.

Removing an unneeded sound frees the resources associated with that sound, principally the VMO required to store the uncompressed sound.

Request

NameType
id uint32

StopPlayingSound

Stops playback of the sound identified by id invoked by the the most recent call to PlaySound for that sound. If id doesn't identify an existing sound in the collection or if the sound is not currently playing, this method does nothing. If more than one PlaySound method is currently pending for that sound, only the most recent is stopped.

Request

NameType
id uint32

STRUCTS

Player_AddSoundFromFile_Response

Defined in fuchsia.media.sounds/sound_player.fidl

NameTypeDescriptionDefault
duration zx/duration No default

Player_PlaySound_Response

Defined in fuchsia.media.sounds/sound_player.fidl

NameTypeDescriptionDefault

ENUMS

PlaySoundError

Type: uint32

Defined in fuchsia.media.sounds/sound_player.fidl

Error type for Player.PlaySound.

NameValueDescription
NO_SUCH_SOUND 1

The id passed to PlaySound is not recognized.

RENDERER_FAILED 2

Underlying audio renderer failed.

STOPPED 3

Playback of the sound was interrupted by a |StopPlayingSound| method call.

UNIONS

Player_AddSoundFromFile_Result

Defined in fuchsia.media.sounds/sound_player.fidl

NameTypeDescription
response Player_AddSoundFromFile_Response
err zx/status

Player_PlaySound_Result

Defined in fuchsia.media.sounds/sound_player.fidl

NameTypeDescription
response Player_PlaySound_Response
err PlaySoundError