目次 - 4.関数 - 4.3チャネル - Mix_FadeInChannel

Mix_FadeInChannel

int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms)

channel
再生するチャネル. -1のとき予約されていない最初の空きチャネル
chunk
再生するサンプリング音声
loops
ループする回数. -1のとぎ無限. 1を渡すと2度再生される(1ループ)
ms
無音から最大ボリュームまでのフェードイン時間(ミリ秒)

channelでchunkを再生する, channelが-1ならば最初の予約されていない空きチャネルで再生する. チャネルのボリュームは0からフェードアップしてmsミリ秒で最大ボリュームになる. もしサンプリング音声が短すぎる, またはloopsが足りない場合は, 完全にフェードインする前に終わる. サンプリング音声は, 停止, フェードアウト, 再生中のループ回数より少ない回数の設定, ミキサーを閉じるなどがない限り, loop+1回再生される.

メモ: この関数はMix_FadeInChannelTimedをtickを-1として呼んでいる.

戻り値: サンプリング音声を再生したチャネル. 失敗のとき-1

サンプルコード

// 予約されていない最初の空きチャネルで3回再生する
// 1秒間でフェードインする
// Mix_Chunk *sample; // 読み込み済みとする
if(Mix_FadeInChannel(-1, sample, 2, 1000)==-1) {
    printf("Mix_FadeInChannel: %s¥n",Mix_GetError());
    // 致命的なエラーか, 空きチャネルがない
    // その場合は新たに別のチャネルを確保することもできる...
}

参照

Mix_PlayChannel, Mix_FadeInChannelTimed, Mix_FadingChannel, Mix_FadeOutChannel, Mix_ReserveChannels

原文へのリンク

4.3.5 Mix_FadeInChannel