1use rg3d_sound::engine::SoundEngine;
2use rg3d_sound::{
3 buffer::{DataSource, SoundBufferResource},
4 context::SoundContext,
5 pool::Handle,
6 source::{generic::GenericSourceBuilder, SoundSource, Status},
7};
8use std::{thread, time::Duration};
9
10fn main() {
11 let engine = SoundEngine::new();
13
14 let context = SoundContext::new();
16
17 engine.lock().unwrap().add_context(context.clone());
19
20 let door_open_buffer = SoundBufferResource::new_generic(
22 rg3d_sound::futures::executor::block_on(DataSource::from_file(
23 "examples/data/door_open.wav",
24 ))
25 .unwrap(),
26 )
27 .unwrap();
28
29 let source = GenericSourceBuilder::new()
31 .with_buffer(door_open_buffer)
32 .with_status(Status::Playing)
33 .build_source()
34 .unwrap();
35
36 let _source_handle: Handle<SoundSource> = context.state().add_source(source);
39
40 thread::sleep(Duration::from_secs(3));
42}