Skip to content

Commit d68bb09

Browse files
committed
ConnectionStateも文字列化
1 parent ecf8d08 commit d68bb09

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/main.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
use std::{cell::RefCell, error::Error, io::stdin, rc::Rc};
33

4-
use windows::{Devices::Enumeration::{DeviceInformation, DeviceInformationUpdate}, Foundation::TypedEventHandler, Media::Audio::{AudioPlaybackConnection, AudioPlaybackConnectionOpenResultStatus}, runtime::HSTRING};
4+
use windows::{Devices::Enumeration::{DeviceInformation, DeviceInformationUpdate}, Foundation::TypedEventHandler, Media::Audio::{AudioPlaybackConnection, AudioPlaybackConnectionOpenResultStatus, AudioPlaybackConnectionState}, runtime::HSTRING};
55

66
fn main() {
77
match run() {
@@ -44,6 +44,14 @@ fn run() -> Result<(), Box<dyn Error>> {
4444
Ok(())
4545
}
4646

47+
fn format_state(state: AudioPlaybackConnectionState) -> String {
48+
match state {
49+
AudioPlaybackConnectionState::Opened => String::from("Opened"),
50+
AudioPlaybackConnectionState::Closed => String::from("Closed"),
51+
x => format!("{:?}", x)
52+
}
53+
}
54+
4755
fn format_status(status: AudioPlaybackConnectionOpenResultStatus) -> String {
4856
match status {
4957
AudioPlaybackConnectionOpenResultStatus::Success => String::from("Success"),
@@ -59,7 +67,7 @@ fn connect(device_id: HSTRING) -> Result<AudioPlaybackConnection, Box<dyn Error>
5967
connection.StateChanged(TypedEventHandler::new(|sender: &Option<AudioPlaybackConnection>, _| {
6068
// ここで ? してもイベントハンドラのResultに反映されるだけ
6169
let connection = sender.as_ref().unwrap();
62-
println!("[AudioPlaybackConnection] OnStateChanged: {:?}", connection.State().unwrap());
70+
println!("[AudioPlaybackConnection] OnStateChanged: {}", format_state(connection.State().unwrap()));
6371
Ok(())
6472
}))?;
6573
connection.Start()?;

0 commit comments

Comments
 (0)