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

SDL_GetAudioDeviceStatus

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

構文

SDL_AudioStatus SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev)

引数

devSDL_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