Track position
This commit is contained in:
parent
452cb9c708
commit
d99c64f33e
|
@ -80,6 +80,7 @@ async fn player_main(
|
|||
use futures_util::StreamExt;
|
||||
let mut playback_status = player.receive_playback_status_changed().await.fuse();
|
||||
let mut metadata_tracker = player.receive_metadata_changed().await.fuse();
|
||||
let mut position_tracker = player.receive_position_changed().await.fuse();
|
||||
|
||||
let mut metadata = Metadata::new(magpie, player.metadata().await?);
|
||||
|
||||
|
@ -104,6 +105,17 @@ async fn player_main(
|
|||
magpie.send_json_message(0, &InMsg::PlaybackStatusChanged(status));
|
||||
}
|
||||
}
|
||||
position = position_tracker.next() => {
|
||||
let position = match position {
|
||||
Some(v) => v,
|
||||
None => break,
|
||||
};
|
||||
|
||||
let position = position.get().await?;
|
||||
let position = position as f32 / 1_000_000.0; // Microseconds to seconds
|
||||
let progress = ProgressChanged { position };
|
||||
magpie.send_json_message(0, &InMsg::ProgressChanged(progress));
|
||||
}
|
||||
new_metadata = metadata_tracker.next() => {
|
||||
let new_metadata = match new_metadata {
|
||||
Some(v) => v,
|
||||
|
|
Loading…
Reference in New Issue