# HG changeset patch # User Emmanuel Gil Peyrot # Date 1582655839 -3600 # Node ID eab7dde1164f32a9ee0a75cfd5670bca76f1606e # Parent 31897f650d2d3f8cd0fc85ea9463c0761a7222f0 examples: Add music playback to the menu example diff --git a/Cargo.toml b/Cargo.toml --- a/Cargo.toml +++ b/Cargo.toml @@ -17,3 +17,4 @@ bitflags = "1" luminance = "0.38" luminance-glfw = { version = "0.12", default-features = false, features = ["log-errors"] } luminance-derive = "0.5" +ears = "0.8" diff --git a/examples/menu.rs b/examples/menu.rs --- a/examples/menu.rs +++ b/examples/menu.rs @@ -1,3 +1,4 @@ +use ears::{Music, AudioController}; use luminance::blending::{Equation, Factor}; use luminance::context::GraphicsContext; use luminance::pipeline::{BoundTexture, PipelineState}; @@ -113,6 +114,20 @@ fn main() { image }); + let music_filename = directory.join("bgm").join("th06_01.wav"); + let music_filename = music_filename.to_str().expect("non-UTF-8 music filename"); + let music = match Music::new(music_filename) { + Ok(mut music) => { + music.set_looping(true); + music.play(); + music + } + Err(err) => { + eprintln!("Impossible to open or play music file: {}", err); + return; + } + }; + let mut surface = GlfwSurface::new(WindowDim::Windowed(640, 480), "Touhou", WindowOpt::default()).expect("GLFW window"); let image = jpeg_thread.join().expect("image loading");