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
Name | Type |
---|---|
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
Name | Type |
---|---|
id |
uint32
|
file |
client_end:fuchsia.io/File
|
Response
Name | Type |
---|---|
payload |
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
Name | Type |
---|---|
id |
uint32
|
usage |
fuchsia.media/AudioRenderUsage
|
Response
Name | Type |
---|---|
payload |
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
Name | Type |
---|---|
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
Name | Type |
---|---|
id |
uint32
|
STRUCTS
Player_AddSoundFromFile_Response
Defined in fuchsia.media.sounds/sound_player.fidl
Field | Type | Description | Default |
---|---|---|---|
duration |
zx/Duration
|
No default |
Player_PlaySound_Response
Defined in fuchsia.media.sounds/sound_player.fidl
<EMPTY>
ENUMS
PlaySoundError strict
Type: uint32
Defined in fuchsia.media.sounds/sound_player.fidl
Error type for Player.PlaySound
.
Name | Value | Description |
---|---|---|
NO_SUCH_SOUND |
1 |
The |
RENDERER_FAILED |
2 |
Underlying audio renderer failed. |
STOPPED |
3 |
Playback of the sound was interrupted by a |StopPlayingSound| method call. |
UNIONS
Player_AddSoundFromFile_Result strict
Defined in fuchsia.media.sounds/sound_player.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Player_AddSoundFromFile_Response
|
|
2 |
err |
zx/Status
|
Player_PlaySound_Result strict
Defined in fuchsia.media.sounds/sound_player.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Player_PlaySound_Response
|
|
2 |
err |
PlaySoundError
|