Add SDL_PlayAudioDevice() to play audio. Remove pause_on param from SDL_PauseAudioDevice()

This commit is contained in:
Sylvain
2023-01-06 13:59:45 +01:00
committed by Sam Lantinga
parent 26be384801
commit 93e2903ac5
14 changed files with 72 additions and 34 deletions

View File

@@ -64,7 +64,7 @@ open_audio()
}
/* Let the audio run */
SDL_PauseAudioDevice(device, SDL_FALSE);
SDL_PlayAudioDevice(device);
}
#ifndef __EMSCRIPTEN__

View File

@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
/*static x[99999]; SDL_QueueAudio(1, x, sizeof (x));*/
/* Let the audio run */
SDL_PauseAudioDevice(g_audio_id, 0);
SDL_PlayAudioDevice(g_audio_id);
done = 0;

View File

@@ -40,13 +40,13 @@ loop()
}
} else if (e.type == SDL_MOUSEBUTTONDOWN) {
if (e.button.button == 1) {
SDL_PauseAudioDevice(devid_out, SDL_TRUE);
SDL_PauseAudioDevice(devid_in, SDL_FALSE);
SDL_PauseAudioDevice(devid_out);
SDL_PlayAudioDevice(devid_in);
}
} else if (e.type == SDL_MOUSEBUTTONUP) {
if (e.button.button == 1) {
SDL_PauseAudioDevice(devid_in, SDL_TRUE);
SDL_PauseAudioDevice(devid_out, SDL_FALSE);
SDL_PauseAudioDevice(devid_in);
SDL_PlayAudioDevice(devid_out);
}
}
}
@@ -62,9 +62,9 @@ loop()
if (please_quit) {
/* stop playing back, quit. */
SDL_Log("Shutting down.\n");
SDL_PauseAudioDevice(devid_in, 1);
SDL_PauseAudioDevice(devid_in);
SDL_CloseAudioDevice(devid_in);
SDL_PauseAudioDevice(devid_out, 1);
SDL_PauseAudioDevice(devid_out);
SDL_CloseAudioDevice(devid_out);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);

View File

@@ -110,7 +110,7 @@ iteration()
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't open '%s': %s\n", name, SDL_GetError());
} else {
SDL_Log("Opened '%s' as %u\n", name, (unsigned int)dev);
SDL_PauseAudioDevice(dev, 0);
SDL_PlayAudioDevice(dev);
}
}
} else if (e.type == SDL_AUDIODEVICEREMOVED) {

View File

@@ -224,6 +224,7 @@ int audio_initOpenCloseQuitAudio()
* \brief Pause and unpause audio
*
* \sa https://wiki.libsdl.org/SDL_PauseAudioDevice
* \sa https://wiki.libsdl.org/SDL_PlayAudioDevice
*/
int audio_pauseUnpauseAudio()
{
@@ -298,8 +299,8 @@ int audio_pauseUnpauseAudio()
/* Un-pause audio to start playing (maybe multiple times) */
pause_on = 0;
for (k = 0; k <= j; k++) {
SDL_PauseAudioDevice(g_audio_id, pause_on);
SDLTest_AssertPass("Call to SDL_PauseAudioDevice(g_audio_id, %d), call %d", pause_on, k + 1);
SDL_PlayAudioDevice(g_audio_id);
SDLTest_AssertPass("Call to SDL_PlayAudioDevice(g_audio_id), call %d", k + 1);
}
/* Wait for callback */
@@ -314,8 +315,13 @@ int audio_pauseUnpauseAudio()
/* Pause audio to stop playing (maybe multiple times) */
for (k = 0; k <= j; k++) {
pause_on = (k == 0) ? 1 : SDLTest_RandomIntegerInRange(99, 9999);
SDL_PauseAudioDevice(g_audio_id, pause_on);
SDLTest_AssertPass("Call to SDL_PauseAudioDevice(g_audio_id, %d), call %d", pause_on, k + 1);
if (pause_on) {
SDL_PauseAudioDevice(g_audio_id);
SDLTest_AssertPass("Call to SDL_PauseAudioDevice(g_audio_id), call %d", k + 1);
} else {
SDL_PlayAudioDevice(g_audio_id);
SDLTest_AssertPass("Call to SDL_PlayAudioDevice(g_audio_id), call %d", k + 1);
}
}
/* Ensure callback is not called again */

View File

@@ -60,7 +60,7 @@ void loop()
#ifdef __EMSCRIPTEN__
emscripten_cancel_main_loop();
#endif
SDL_PauseAudioDevice(cbd[0].dev, 1);
SDL_PauseAudioDevice(cbd[0].dev);
SDL_CloseAudioDevice(cbd[0].dev);
SDL_free(sound);
SDL_Quit();
@@ -98,7 +98,7 @@ test_multi_audio(int devcount)
if (cbd[0].dev == 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Open device failed: %s\n", SDL_GetError());
} else {
SDL_PauseAudioDevice(cbd[0].dev, 0);
SDL_PlayAudioDevice(cbd[0].dev);
#ifdef __EMSCRIPTEN__
emscripten_set_main_loop(loop, 0, 1);
#else
@@ -110,7 +110,7 @@ test_multi_audio(int devcount)
#endif
SDL_Delay(100);
}
SDL_PauseAudioDevice(cbd[0].dev, 1);
SDL_PauseAudioDevice(cbd[0].dev);
#endif
SDL_Log("done.\n");
SDL_CloseAudioDevice(cbd[0].dev);
@@ -131,7 +131,7 @@ test_multi_audio(int devcount)
for (i = 0; i < devcount; i++) {
if (cbd[i].dev) {
SDL_PauseAudioDevice(cbd[i].dev, 0);
SDL_PlayAudioDevice(cbd[i].dev);
}
}
@@ -154,7 +154,7 @@ test_multi_audio(int devcount)
#ifndef __EMSCRIPTEN__
for (i = 0; i < devcount; i++) {
if (cbd[i].dev) {
SDL_PauseAudioDevice(cbd[i].dev, 1);
SDL_PauseAudioDevice(cbd[i].dev);
SDL_CloseAudioDevice(cbd[i].dev);
}
}

View File

@@ -179,7 +179,7 @@ int main(int argc, char *argv[])
total_channels = spec.channels;
active_channel = 0;
SDL_PauseAudioDevice(dev, 0);
SDL_PlayAudioDevice(dev);
for (j = 0; j < total_channels; j++) {
int sine_freq = is_lfe_channel(j, total_channels) ? LFE_SINE_FREQ_HZ : SINE_FREQ_HZ;