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.
|
||||
/// Does not return rodio Device struct in case our audio backend changes.
|
||||
pub fn get_default_device() -> String {
|
||||
rodio::default_output_device()
|
||||
.expect("No audio output devices detected.")
|
||||
.name()
|
||||
.expect("Unable to get device name")
|
||||
pub fn get_default_device() -> Option<String> {
|
||||
rodio::default_output_device().map(|dev| dev.name().expect("Unable to get device name"))
|
||||
}
|
||||
|
||||
/// Returns a vec of the audio devices available.
|
||||
|
@ -44,15 +44,16 @@ fn main() {
|
||||
panic!("Failed to save settings: {:?}", err);
|
||||
}
|
||||
|
||||
let audio_device = || match &settings.audio.audio_device {
|
||||
Some(d) => d.to_string(),
|
||||
None => audio::get_default_device(),
|
||||
};
|
||||
let audio_device = settings
|
||||
.audio
|
||||
.audio_device
|
||||
.as_ref()
|
||||
.map(|s| s.clone())
|
||||
.or_else(audio::get_default_device);
|
||||
|
||||
let mut audio = if settings.audio.audio_on {
|
||||
AudioFrontend::new(audio_device(), settings.audio.max_sfx_channels)
|
||||
} else {
|
||||
AudioFrontend::no_audio()
|
||||
let mut audio = match (audio_device, settings.audio.audio_on) {
|
||||
(Some(dev), true) => AudioFrontend::new(dev, settings.audio.max_sfx_channels),
|
||||
_ => AudioFrontend::no_audio()
|
||||
};
|
||||
|
||||
audio.set_music_volume(settings.audio.music_volume);
|
||||
|
Loading…
Reference in New Issue
Block a user