1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
// Example
//
// ```
// use pryty_rustbrowser::*;
//
// fn App() -> Element {
// let rec = use_recording();
// let (name, set_name) = use_storage("username".to_string());
//
// rsx! {
// button { onclick: move |_| rec.start(), "录音" }
// input { value: "{name}", oninput: move |e| set_name(e.value()) }
// }
// }
// ```
// src/lib.rs
pub use ;
pub use ;
pub use ;
pub use ;
/*
use dioxus::prelude::*;
use pryty_rustbrowser::{use_camera, use_clipboard, use_recording, use_storage};
fn main() {
dioxus::launch(App);
}
#[component]
fn App() -> Element {
let camera = use_camera();
let recording = use_recording();
let (name, set_name) = use_storage("username".to_string());
let clipboard = use_clipboard();
let on_copy = {
let name = name.clone();
move |_| {
clipboard.write(&name.read());
}
};
rsx! {
div {
h1 { "pryty-rustbrowser demo" }
div {
input {
value: "{name}",
oninput: move |e| set_name.call(e.value())
}
button { onclick: on_copy, "Copy Username" }
}
div {
button {
onclick: move |_| camera.start.call(()),
disabled: *camera.active.read(),
"Start Camera"
}
button {
onclick: move |_| camera.stop.call(()),
disabled: !*camera.active.read(),
"Stop Camera"
}
p { "camera active: {camera.active.read()}" }
}
div {
button {
onclick: move |_| recording.start.call(()),
disabled: *recording.active.read(),
"Start Recording"
}
button {
onclick: move |_| recording.start_with_quality.call(AudioQualityConfig::high()),
"Start Recording"
}
button {
onclick: move |_| recording.stop.call(()),
disabled: !*recording.active.read(),
"Stop Recording"
}
p { "recording active: {recording.active.read()}" }
p {
"bytes: {
recording
.data
.read()
.as_ref()
.map(|v| v.len().to_string())
.unwrap_or_else(|| \"0\".to_string())
}"
}
}
}
}
} */