mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
allow the game to start without an audio device
This commit is contained in:
parent
3e768349be
commit
c82d1b9316
@ -238,11 +238,8 @@ impl AudioFrontend {
|
|||||||
|
|
||||||
/// Returns the default audio device.
|
/// Returns the default audio device.
|
||||||
/// Does not return rodio Device struct in case our audio backend changes.
|
/// Does not return rodio Device struct in case our audio backend changes.
|
||||||
pub fn get_default_device() -> String {
|
pub fn get_default_device() -> Option<String> {
|
||||||
rodio::default_output_device()
|
rodio::default_output_device().map(|dev| dev.name().expect("Unable to get device name"))
|
||||||
.expect("No audio output devices detected.")
|
|
||||||
.name()
|
|
||||||
.expect("Unable to get device name")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a vec of the audio devices available.
|
/// Returns a vec of the audio devices available.
|
||||||
|
@ -44,15 +44,16 @@ fn main() {
|
|||||||
panic!("Failed to save settings: {:?}", err);
|
panic!("Failed to save settings: {:?}", err);
|
||||||
}
|
}
|
||||||
|
|
||||||
let audio_device = || match &settings.audio.audio_device {
|
let audio_device = settings
|
||||||
Some(d) => d.to_string(),
|
.audio
|
||||||
None => audio::get_default_device(),
|
.audio_device
|
||||||
};
|
.as_ref()
|
||||||
|
.map(|s| s.clone())
|
||||||
|
.or_else(audio::get_default_device);
|
||||||
|
|
||||||
let mut audio = if settings.audio.audio_on {
|
let mut audio = match (audio_device, settings.audio.audio_on) {
|
||||||
AudioFrontend::new(audio_device(), settings.audio.max_sfx_channels)
|
(Some(dev), true) => AudioFrontend::new(dev, settings.audio.max_sfx_channels),
|
||||||
} else {
|
_ => AudioFrontend::no_audio()
|
||||||
AudioFrontend::no_audio()
|
|
||||||
};
|
};
|
||||||
|
|
||||||
audio.set_music_volume(settings.audio.music_volume);
|
audio.set_music_volume(settings.audio.music_volume);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user