diff --git a/rust-whisper-baked-lib-wasm/src/lib.rs b/rust-whisper-baked-lib-wasm/src/lib.rs index 10bd1f1..a8944ef 100644 --- a/rust-whisper-baked-lib-wasm/src/lib.rs +++ b/rust-whisper-baked-lib-wasm/src/lib.rs @@ -2,16 +2,34 @@ use wasm_bindgen::prelude::*; use rust_whisper_lib; use rust_whisper_baked_lib; +#[wasm_bindgen] +extern { + pub fn whisper_on_success(s: String); + pub fn whisper_on_error(s: String); +} + #[wasm_bindgen] pub fn listen( - flags: rust_whisper_lib::Flags, - on_success: fn(String), - on_error: fn(String), + stream_step: Option, + stream_retain: Option, + stream_head: Option, + stream_tail: Option, ) { + let flags = rust_whisper_lib::Flags { + model_path: None, + model_buffer: None, + threads: 4, + stream_step: stream_step.unwrap_or(5), + stream_retain: stream_retain.unwrap_or(1.0), + stream_head: stream_head.unwrap_or(0.5), + stream_tail: stream_tail.unwrap_or(0.5), + wav: None, + debug: false, + }; rust_whisper_baked_lib::main(flags, |result| { match result { - Ok(msg) => on_success(msg.to_string()), - Err(msg) => on_error(msg), + Ok(msg) => whisper_on_success(msg.to_string()), + Err(msg) => whisper_on_error(msg), }; }); }