Atlas - testaudioinfo.c
Home / ext / SDL2 / test Lines: 17 | Size: 2101 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)][FILE BEGIN]1/* 2 Copyright (C) 1997-2018 Sam Lantinga <[email protected]> 3 4 This software is provided 'as-is', without any express or implied 5 warranty. In no event will the authors be held liable for any damages 6 arising from the use of this software. 7 8 Permission is granted to anyone to use this software for any purpose, 9 including commercial applications, and to alter it and redistribute it 10 freely. 11*/ 12#include <stdio.h> 13#include "SDL.h" 14 15static void 16print_devices(int iscapture) 17{ 18 const char *typestr = ((iscapture) ? "capture" : "output"); 19 int n = SDL_GetNumAudioDevices(iscapture); 20 21 SDL_Log("Found %d %s device%s:\n", n, typestr, n != 1 ? "s" : ""); 22 23 if (n == -1) 24 SDL_Log(" Driver can't detect specific %s devices.\n\n", typestr); 25 else if (n == 0) 26 SDL_Log(" No %s devices found.\n\n", typestr); 27 else { 28 int i; 29 for (i = 0; i < n; i++) { 30 const char *name = SDL_GetAudioDeviceName(i, iscapture); 31 if (name != NULL) 32 SDL_Log(" %d: %s\n", i, name); 33 else 34 SDL_Log(" %d Error: %s\n", i, SDL_GetError()); 35 } 36 SDL_Log("\n"); 37 } 38} 39 40int 41main(int argc, char **argv) 42{ 43 int n; 44 45 /* Enable standard application logging */ 46 SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO); 47 48 /* Load the SDL library */ 49 if (SDL_Init(SDL_INIT_AUDIO) < 0) { 50 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s\n", SDL_GetError()); 51 return (1); 52 } 53 54 /* Print available audio drivers */ 55 n = SDL_GetNumAudioDrivers(); 56 if (n == 0) { 57 SDL_Log("No built-in audio drivers\n\n"); 58 } else { 59 int i; 60 SDL_Log("Built-in audio drivers:\n"); 61 for (i = 0; i < n; ++i) { 62 SDL_Log(" %d: %s\n", i, SDL_GetAudioDriver(i)); 63 } 64 SDL_Log("Select a driver with the SDL_AUDIODRIVER environment variable.\n"); 65 } 66 67 SDL_Log("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver()); 68 69 print_devices(0); 70 print_devices(1); 71 72 SDL_Quit(); 73 return 0; 74} 75[FILE END](C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.