feat: 支持设置音量。
This commit is contained in:
@@ -45,6 +45,8 @@ impl Board {
|
||||
let display_setting_request_sender = board_message_channels
|
||||
.display_setting_request_sender
|
||||
.clone();
|
||||
let volume_setting_request_sender =
|
||||
board_message_channels.volume_setting_request_sender.clone();
|
||||
|
||||
loop {
|
||||
match socket.try_recv(&mut buf) {
|
||||
@@ -60,6 +62,8 @@ impl Board {
|
||||
if let Err(err) = result {
|
||||
error!("send display setting request to channel failed: {:?}", err);
|
||||
}
|
||||
} else if buf[0] == 4 {
|
||||
let result = volume_setting_request_sender.send(buf[1] as f32 / 100.0);
|
||||
}
|
||||
}
|
||||
Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {
|
||||
|
||||
@@ -6,6 +6,7 @@ use super::DisplaySettingRequest;
|
||||
|
||||
pub struct BoardMessageChannels {
|
||||
pub display_setting_request_sender: Arc<broadcast::Sender<DisplaySettingRequest>>,
|
||||
pub volume_setting_request_sender: Arc<broadcast::Sender<f32>>,
|
||||
}
|
||||
|
||||
impl BoardMessageChannels {
|
||||
@@ -19,8 +20,12 @@ impl BoardMessageChannels {
|
||||
let (display_setting_request_sender, _) = broadcast::channel(16);
|
||||
let display_setting_request_sender = Arc::new(display_setting_request_sender);
|
||||
|
||||
let (volume_setting_request_sender, _) = broadcast::channel(16);
|
||||
let volume_setting_request_sender = Arc::new(volume_setting_request_sender);
|
||||
|
||||
Self {
|
||||
display_setting_request_sender,
|
||||
volume_setting_request_sender,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,9 @@ use std::{collections::HashMap, sync::Arc, time::Duration};
|
||||
use futures::future::join_all;
|
||||
use mdns_sd::{ServiceDaemon, ServiceEvent};
|
||||
use paris::{error, info, warn};
|
||||
use tokio::sync::{watch, OnceCell, RwLock, broadcast};
|
||||
use tokio::sync::{watch, OnceCell, RwLock};
|
||||
|
||||
use super::{Board, BoardInfo, DisplaySettingRequest};
|
||||
use super::{Board, BoardInfo};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct UdpRpc {
|
||||
|
||||
Reference in New Issue
Block a user