SDL2.0の日本語リファレンスマニュアル
Revision | fb6abf500ff501f86af17cc8c024ff85768c5c7f (tree) |
---|---|
Zeit | 2023-01-12 02:53:33 |
Autor | maruhiro <maruhiro@brid...> |
Commiter | maruhiro |
Mix_AllocateChannels 新しい説明の訳に差し替え
@@ -12,39 +12,44 @@ | ||
12 | 12 | <a href="index.html#SDL_mixer">目次</a> - <a href="SDL_mixer-functions.html">4.関数</a> - <a href="SDL_mixer-functions-channels.html">4.3チャネル</a> - Mix_AllocateChannels |
13 | 13 | <hr> |
14 | 14 | <h1>Mix_AllocateChannels</h1> |
15 | +ミキサーが管理するチャネルの数を動的に変更する | |
16 | +<h2>構文</h2> | |
15 | 17 | <p> |
16 | 18 | <code>int Mix_AllocateChannels(int numchans)</code> |
17 | 19 | </p> |
20 | +<h2>引数</h2> | |
21 | +<table border="1" summary="Mix_AllocateChannels"> | |
22 | +<tr><td>numchans</td><td>新しく設定するチャネルの数, 負の数のときは変更しない</td></tr> | |
23 | +</table> | |
24 | +<h2>戻り値</h2> | |
18 | 25 | <p> |
19 | -<dl> | |
20 | -<dt>numchans</dt><dd>確保するミキシングチャネル数. 負の数のとき何もしない. 現在のチャネル数を得るときに使うとよい</dd> | |
21 | -</dl> | |
26 | +設定されたチャネル数を戻す. | |
22 | 27 | </p> |
28 | +<h2>詳細</h2> | |
23 | 29 | <p> |
24 | -ミキシングチャネルの数を設定する. | |
25 | -この関数は再生中を含めいつでも呼べる. | |
26 | -numchansが現在のチャネル数より少ない場合, 上位のチャネルが停止し解放され, それ以降ミキシングされない. | |
27 | -しかし, 1秒間に1000回チャネル数を変えるような使い方はすべきではない. | |
28 | -確保されたチャネルが解除されたとき, <a href="Mix_ChannelFinished.html">Mix_ChannelFinished</a>で設定されたコールバック関数が, それぞれの停止し解放されたチャネルに対して呼ばれる. | |
30 | +SDL_mixの扱う「チャネル」は, モノラル/ステレオのチャネルとは異なる. | |
31 | +チャネルとは, それぞれ個別に対応付けられたオーディオデータ源のことで, 「トラック」と呼ぶ方がわかりやすいかもしれない. | |
32 | +例えば, 3つの異なるWAVファイルを同時に再生する場合, 3つのSDL_mixerチャネルが必要となる. | |
29 | 33 | </p> |
30 | 34 | <p> |
31 | -メモ: 0を渡すと全てのミキシングチャネルが解放される. しかし音楽は再生される. | |
35 | +アプリケーションは同時に再生したいオーディオデータの数だけチャネルが必要で, それらは1つのストリームにミキシングされてオーディオデバイスに送られる. | |
32 | 36 | </p> |
33 | 37 | <p> |
34 | -戻り値: 確保したチャネルの数. | |
35 | -決して失敗することはない...しかし, チャネル数が多すぎてメモリを使い果たすと異常終了する. とても多い場合のことである! | |
38 | +オーディオデバイスを開いたとき, SDL_mixerはMIX_CHANNELSの数だけ(現在は8)のチャネルを確保する. | |
39 | +これはアプリケーションが必要とする数より多いかもしれない. | |
40 | +チャネル数を増やしたり減らしたりしたい場合は, この関数で変更することができる. | |
36 | 41 | </p> |
37 | -<h2>サンプルコード</h2> | |
38 | -<code> | |
39 | -<pre> | |
40 | -// 16のミキシングチャネルを確保する | |
41 | -Mix_AllocateChannels(16); | |
42 | -</pre> | |
43 | -</code> | |
44 | -<h2>参照</h2> | |
45 | -<a href="Mix_OpenAudio.html">Mix_OpenAudio</a> | |
42 | +<p> | |
43 | +チャネルの数を減らすと, 減らされた現在再生中のチャネルの再生は停止する. | |
44 | +このとき, これらのチャネルのエフェクトは解除され, <a href="Mix_ChannelFinished.html">Mix_ChannelFinished()</a>で設定されたコールバックが削除された各チャネルに対して呼ばれる. | |
45 | +</p> | |
46 | +<p> | |
47 | +numchansが0未満の場合, 何も変更せずに現在のチャネル数を戻す. | |
48 | +</p> | |
49 | +<h2>バージョン</h2> | |
50 | +SDL_mixer 2.0.0以降 | |
46 | 51 | <h2>原文へのリンク</h2> |
47 | -<a href="http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_26.html#SEC26">4.3.1 Mix_AllocateChannels</a> | |
52 | +<a href="https://wiki.libsdl.org/SDL_mixer/Mix_AllocateChannels">SDL_mixer/Mix_AllocateChannels</a> | |
48 | 53 | <hr> |
49 | 54 | </body> |
50 | 55 | </html> |