Module workflow_nw::media
source · Expand description
Media control helpers
§Synopsis
use workflow_log::log_info;
use workflow_nw::prelude::*;
use workflow_nw::result::Result;
use nw_sys::prelude::OptionsTrait;
fn choose_desktop_media()->Result<()>{
// create Application instance
let app = Application::new()?;
// choose desktop media
app.choose_desktop_media(
nw_sys::screen::MediaSources::ScreenAndWindow,
move |stream_id: Option<String>|->Result<()>{
if let Some(stream_id) = stream_id{
render_media(stream_id)?;
}
Ok(())
}
)?;
Ok(())
}
fn render_media(stream_id:String)->Result<()>{
log_info!("stream_id: {:?}", stream_id);
let video_element_id = "video_el".to_string();
let video_constraints = VideoConstraints::new()
.source_id(&stream_id)
.max_height(1000);
workflow_nw::media::render_media(
video_element_id,
video_constraints,
None,
move |stream|->Result<()>{
workflow_nw::application::app().unwrap().set_media_stream(stream)?;
Ok(())
}
)?;
Ok(())
}Structs§
- Video Constraints
Enums§
- MediaStream track kind
Functions§
- Get user media
- render media to a video element