Expand description
§Connect
The connect module of librespot. Provides the option to create your own connect device and stream to it like any other official spotify client.
The Spirc is the entrypoint to creating your own connect device. It can be
configured with the given ConnectConfig options and requires some additional data
to start up the device.
When creating a new Spirc it returns two items. The Spirc itself, which is can
be used as to control the local connect device. And a Future,
lets name it SpircTask, that starts and executes the event loop of the connect device
when awaited.
A basic example in which the Spirc and SpircTask is used can be found here:
examples/play_connect.rs.
§Example
use std::{future::Future, thread};
use librespot_connect::{ConnectConfig, Spirc};
use librespot_core::{authentication::Credentials, Error, Session, SessionConfig};
use librespot_playback::{
audio_backend, mixer,
config::{AudioFormat, PlayerConfig},
mixer::{MixerConfig, NoOpVolume},
player::Player
};
async fn create_basic_spirc() -> Result<(), Error> {
let credentials = Credentials::with_access_token("access-token-here");
let session = Session::new(SessionConfig::default(), None);
let backend = audio_backend::find(None).expect("will default to rodio");
let player = Player::new(
PlayerConfig::default(),
session.clone(),
Box::new(NoOpVolume),
move || {
let format = AudioFormat::default();
let device = None;
backend(device, format)
},
);
let mixer = mixer::find(None).expect("will default to SoftMixer");
let (spirc, spirc_task): (Spirc, _) = Spirc::new(
ConnectConfig::default(),
session,
credentials,
player,
mixer(MixerConfig::default())?
).await?;
Ok(())
}Structs§
- Connect
Config - Configuration of the connect device
- Load
Request - Request for loading playback
- Load
Request Options - The parameters for creating a load request
- Options
- The available options that indicate how to start the context
- Spirc
- The spotify connect handle
Enums§
- Load
Context Options - The options which decide how the playback is started
- Playing
Track - An item that represent a track to play