Initial commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL2/SDL_image.h>
|
||||
#include <SDL2/SDL_ttf.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "log.h"
|
||||
|
||||
SDL_AudioSpec* desiredSpec;
|
||||
void audio_callback(void* userdata, Uint8* stream, int len)
|
||||
{
|
||||
// Fill the audio buffer with data
|
||||
char string[64];
|
||||
sprintf(string, "stream: %u len: %u\n", stream, len);
|
||||
printf(string, "stream: %u len: %u\n", stream, len);
|
||||
log_message(LOG_INFO, string);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (SDL_Init(SDL_INIT_AUDIO) < 0) {
|
||||
// Handle error
|
||||
}
|
||||
|
||||
desiredSpec = malloc(sizeof(SDL_AudioSpec));
|
||||
memset(desiredSpec, 0, sizeof(SDL_AudioSpec));
|
||||
desiredSpec->freq = 44100; // Sample rate
|
||||
desiredSpec->format = AUDIO_F32; // Audio format
|
||||
desiredSpec->channels = 2;
|
||||
desiredSpec->samples = 4096; // Buffer size
|
||||
desiredSpec->callback = audio_callback; // Set the callback
|
||||
|
||||
SDL_AudioDeviceID audioDevice = SDL_OpenAudioDevice(SDL_GetAudioDeviceName(2, 1), 1, desiredSpec, NULL, SDL_AUDIO_ALLOW_FORMAT_CHANGE);
|
||||
if (SDL_GetError()[0] != '\0') {
|
||||
printf("SDL Error : %s\n", SDL_GetError());
|
||||
}
|
||||
printf("Name: %s\n", SDL_GetAudioDeviceName(2, 1));
|
||||
if (audioDevice == 0) {
|
||||
// Handle error
|
||||
}
|
||||
|
||||
// Start audio playback
|
||||
SDL_PauseAudioDevice(audioDevice, 0);
|
||||
if (SDL_GetError()[0] != '\0') {
|
||||
printf("SDL Error : %s\n", SDL_GetError());
|
||||
}
|
||||
|
||||
SDL_Event event;
|
||||
int running = 1;
|
||||
while (running) {
|
||||
while (SDL_PollEvent(&event)) {
|
||||
SDL_Keycode keysym = event.key.keysym.sym;
|
||||
switch (event.type) {
|
||||
case SDL_QUIT:
|
||||
running = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SDL_CloseAudioDevice(audioDevice);
|
||||
SDL_Quit();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user