feat: Added relative audio path

This commit is contained in:
Xeovalyte 2023-10-27 10:34:47 +02:00
parent 078683b5b2
commit 422f4c68c6
3 changed files with 19 additions and 1 deletions

View File

@ -5,6 +5,7 @@ use std::io::BufReader;
use rodio::{Decoder, OutputStream, Sink}; use rodio::{Decoder, OutputStream, Sink};
use std::sync::Mutex; use std::sync::Mutex;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use std::path::{Path, PathBuf};
use crate::serial; use crate::serial;
@ -16,6 +17,7 @@ struct Timings {
static TIMINGS: Mutex<Lazy<Timings>> = Mutex::new(Lazy::new(|| Timings { charging_start_delay: 1600, charging_delay: 450, charging_end_delay: 400 } )); static TIMINGS: Mutex<Lazy<Timings>> = Mutex::new(Lazy::new(|| Timings { charging_start_delay: 1600, charging_delay: 450, charging_end_delay: 400 } ));
static PLAYING: Mutex<bool> = Mutex::new(false); static PLAYING: Mutex<bool> = Mutex::new(false);
pub static AUDIO_PATH: Mutex<Lazy<PathBuf>> = Mutex::new(Lazy::new(|| Path::new("assets/audio.mp3").to_path_buf()));
#[tauri::command] #[tauri::command]
pub fn start() { pub fn start() {
@ -47,7 +49,9 @@ fn play_sound() {
let (_stream, stream_handle) = OutputStream::try_default().unwrap(); let (_stream, stream_handle) = OutputStream::try_default().unwrap();
let sink = Sink::try_new(&stream_handle).unwrap(); let sink = Sink::try_new(&stream_handle).unwrap();
let file = BufReader::new(File::open("assets/audio.mp3").unwrap()); let path = AUDIO_PATH.lock().unwrap();
let file = BufReader::new(File::open(&**path).unwrap());
let source = Decoder::new(file).unwrap(); let source = Decoder::new(file).unwrap();
sink.append(source); sink.append(source);

View File

@ -7,6 +7,17 @@ mod animation;
fn main() { fn main() {
tauri::Builder::default() tauri::Builder::default()
.invoke_handler(tauri::generate_handler![serial::get_serial_ports, serial::write_serial, serial::open_port, serial::close_port, animation::start]) .invoke_handler(tauri::generate_handler![serial::get_serial_ports, serial::write_serial, serial::open_port, serial::close_port, animation::start])
.setup(|app| {
let resource_path = app.path_resolver()
.resolve_resource("assets/audio.mp3")
.expect("failed to resolve resource");
let mut audio_path = animation::AUDIO_PATH.lock().unwrap();
**audio_path = resource_path;
Ok(())
})
.run(tauri::generate_context!()) .run(tauri::generate_context!())
.expect("error while running tauri application"); .expect("error while running tauri application");
} }

View File

@ -31,6 +31,9 @@
"icons/128x128@2x.png", "icons/128x128@2x.png",
"icons/icon.icns", "icons/icon.icns",
"icons/icon.ico" "icons/icon.ico"
],
"resources": [
"assets/audio.mp3"
] ]
}, },
"security": { "security": {