YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
15 stars 8 forks source link

In-Game: Add support for automatic audio device change when modified in the OS and the ability to pick output device at any time #3315

Open iampremo opened 1 year ago

iampremo commented 1 year ago

Games created with GM use whatever is the primary audio output device currently set at the time. Meaning that once launched, if you e.g. plug in headphones (and Windows changes it to the primary audio source), the audio still continues to play from the speakers in-game. You have to restart the game in order to play audio from the headphones.

Expected: There should be automatic detection for this change of default audio output in the engine and sound should change immediately.

Feature Request: Ideally, there should also be the ability for the game to always offer players the choice of output device.

mongelo commented 1 year ago

I would love this feature to be implemented. It is basically assumed to be working for any game.

L-Clouds commented 1 year ago

Players frequently report the inability to switch audio devices as if it were a bug, in a GM game I help manage bugs for.

L-Clouds commented 1 year ago

Is this something an extension can implement? I have no clue what extensions can or can't do.

montezumashamas commented 1 year ago

This is something so basic, it's strange it hasn't been implemented yet.

A simple search on the internet shows a lot of people have been complaining about the lack of control on audio device in GM.

jeromepoizat commented 7 months ago

+1 I am making a voice chat for my game and it would be very nice to give the user the option to change the voice chat audio output to a different device. In a similar way we can already choose the recorder device.

AvioxArcade commented 5 months ago

A workaround to re-start the audio system to use whatever the system is currently using would be nice as a short-term solution, so if the user changes their audio settings they don't have to relaunch the game if we call e.g. "audio_engine_restart()" or w/e