testaudioinfo.c (1841B)
1/* 2 Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> 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("%s devices:\n", typestr); 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 SDL_Log(" %s\n", SDL_GetAudioDeviceName(i, iscapture)); 31 } 32 SDL_Log("\n"); 33 } 34} 35 36int 37main(int argc, char **argv) 38{ 39 int n; 40 41 /* Enable standard application logging */ 42 SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO); 43 44 /* Load the SDL library */ 45 if (SDL_Init(SDL_INIT_AUDIO) < 0) { 46 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s\n", SDL_GetError()); 47 return (1); 48 } 49 50 /* Print available audio drivers */ 51 n = SDL_GetNumAudioDrivers(); 52 if (n == 0) { 53 SDL_Log("No built-in audio drivers\n\n"); 54 } else { 55 int i; 56 SDL_Log("Built-in audio drivers:\n"); 57 for (i = 0; i < n; ++i) { 58 SDL_Log(" %s\n", SDL_GetAudioDriver(i)); 59 } 60 SDL_Log("\n"); 61 } 62 63 SDL_Log("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver()); 64 65 print_devices(0); 66 print_devices(1); 67 68 SDL_Quit(); 69 return 0; 70}