Skip to main content

Crate app_tauri_plugin_player

Crate app_tauri_plugin_player 

Source
Expand description

Tauri plugin for audio player control and media session management.

This plugin provides platform-specific audio playback control for MoosicBox applications, supporting both desktop and mobile platforms with native media controls.

§Features

  • Control playback state (play, pause, seek)
  • Manage playlists and track navigation
  • Handle platform media control events
  • Cross-platform support (desktop and mobile)

§Usage

Initialize the plugin in your Tauri application:

use tauri_plugin_player::PlayerExt;

tauri::Builder::default()
    .plugin(tauri_plugin_player::init())
    .setup(|app| {
        // Access player through the extension trait
        let player = app.player();
        Ok(())
    })
    .run(tauri::generate_context!())
    .expect("error while running tauri application");

§Platform Support

The plugin adapts to the target platform:

  • Desktop: Provides a lightweight player interface
  • Mobile (iOS/Android): Integrates with native media session APIs

§Main Types

  • PlayerExt - Extension trait for accessing player functionality
  • init() - Plugin initialization function
  • Track - Music track with metadata
  • Playlist - Collection of tracks
  • UpdateState - Request for updating player state
  • Error - Error types for plugin operations

Structs§

InitChannel
Request to initialize a communication channel.
InitChannelResponse
Response from a channel initialization operation.
MediaEvent
Media control event from the platform.
Playlist
Represents a playlist containing multiple tracks.
StateResponse
Response from a state update operation.
Track
Represents a music track with metadata.
UpdateState
State update request for the player.

Enums§

Error
Errors that can occur in player plugin operations.

Traits§

PlayerExt
Extensions to tauri::App, tauri::AppHandle and tauri::Window to access the player APIs.

Functions§

init
Initializes the plugin.

Type Aliases§

Result
Result type for player plugin operations.