目次 - API(機能別) - 再生と録音 - SDL_GetAudioDeviceStatus

# SDL_GetAudioDeviceStatus

現在のオーディオデバイスの状態を得る

## 構文

`SDL_AudioStatus SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev)`

## 引数

dev | SDL_OpenAudioDevice()で開いたオーディオデバイスのID

## 戻り値

SDL_AudioStatusの値の1つを戻す.

## サンプルコード

``

    void printStatus(SDL_AudioDeviceID dev)
    {
        switch (SDL_GetAudioDeviceStatus(dev))
        {
            case SDL_AUDIO_STOPPED: printf("停止中\n"); break;
            case SDL_AUDIO_PLAYING: printf("再生中\n"); break;
            case SDL_AUDIO_PAUSED: printf("一時停止中\n"); break;
            default: printf("???"); break;
        }
    }

    // デバイスは一時停止から始まる
    SDL_AudioDeviceID dev;
    dev = SDL_OpenAudioDevice(NULL, 0, &desired, &obtained, 0);
    if (dev != 0)
    {
         printStatus(dev);  // 「一時停止中」が表示される
         SDL_PauseAudioDevice(dev, 0);
         printStatus(dev);  // 「再生中」が表示される
         SDL_PauseAudioDevice(dev, 1);
         printStatus(dev);  // 「一時停止中」が表示される
         SDL_CloseAudioDevice(dev);
         printStatus(dev);  // 「停止中」が表示される
    }

## 詳細

開いたデバイスは, 通常は常に再生中か一時停止中である. デバイスがエラーを起こすといつでも停止中になる. デバイスを閉じた場合も停止中になる. 開いていない, または不明なIDのデバイスの状態を求めると, 停止中が報告される.

## 関連項目(関数)

SDL_PauseAudioDevice

## SDL Wikiへのリンク

SDL_GetAudioDeviceStatus - SDL Wiki