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

# SDL_AudioStatus

オーディオデバイスの状態の列挙体

## 値

SDL_AUDIO_STOPPED | 停止中
SDL_AUDIO_PLAYING | 再生中
SDL_AUDIO_PAUSED | 一時停止

## サンプルコード

``

    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_GetAudioDeviceStatus

## SDL Wikiへのリンク

SDL_AudioStatus - SDL Wiki