Example player is a fake media player that publishes its media session with fuchsia.media.sessions2.
Use fx set to create a core version of Fuchsia that includes the targets and shards needed to run the example player with the mediasession cli tool:
fx set core.x64 \
--with "//src/media" \
--args='core_realm_shards += [ "//src/media/sessions:mediasession_core_shard" ]';
Build Fuchsia and (re)start the target emulator with this configuration. See these configuration instructions for more details.
To create and start and example player, use ffx component. The mediasession_core_shard added above installs a mediasession-examples collection into the /core realm to run example player components under.
The basic workflow is:
ffx component create /core/mediasession-examples:player fuchsia-pkg://fuchsia.com/example_player#meta/example_player.cmffx component start /core/mediasession-examples:playerNote that mediasession-players is the collection name and must be a part of the moniker of the created component. However, the name of the component, player above, can be user-defined when invoking ffx component create.
It is possible to create and start multiple example players as long as they have a different component name (e.g player1, player2).
You can see the created components with ffx component list:
> fx ffx component list | grep mediasession-examples /core/mediasession-examples:player1 /core/mediasession-examples:player2
Then run fx shell mediasession_cli_tool to control and monitor the example players' state by session-id. For example:
> fx shell mediasession_cli_tool ls [53106] State: None [48966] State: None [53106] State: Some(Playing) [48966] State: Some(Playing) [48966] State: Some(Paused)