サウンドデコーダ(
SounDecoder.SoundDecoder
)は、入力ストリーム(
System.IO.Stream
)の内容を扱いやすい形式に変換します。
サウンドデコーダは入力ストリームと一対一に対応します。その為、もし入力ストリームがファイルストリーム(
System.IO.FileStream
)であれば──つまり大抵の場合は、サウンドデコーダ = WaveやMP3などの音声ファイルと捉えてもらってもあまり問題はありません。
サウンドパート(
SounDecoder.Sounds.SoundPart
)は、サウンドの構成要素です。ここで言うサウンドとは、一続きの音を指します。あるサウンドは効果音だったり、あるサウンドはオーケストラの演奏一曲だったり、またあるサウンドはループ再生するゲーム音楽だったりするかも知れません。とにかく、連続するひとまとまりの音、それをサウンドと呼びます。それを構成するのが前述の通り、サウンドパートです。
スタティックサウンド(
SounDecoder.Sounds.StaticSound
)は、サウンドパートの観点から言うと、サウンドパートを一つだけ持つサウンドです。
スタティックサウンドにおいては、サウンドパートの
NextPart
プロパティは意味を持ちません。
NextPart
は常に自分自身であると仮定され、スタティックサウンドの
Looping
プロパティは、このサウンドパートを繰り返し再生するか否かを表します。
ストリーミングサウンド(
SounDecoder.Sounds.StreamingSound
)は、同様にサウンドパート基準で言うと、サウンドパートを複数持つサウンドです。
ストリーミングサウンドの作成時には、最初に再生されるべきサウンドパートを渡します。再生が開始され、もし最初のサウンドパートが再生され終わると、そのサウンドパートの
NextPart
プロパティに設定されているサウンドパートが次に再生されます。そのサウンドパートも再生され終われば、更にその
NextPart
プロパティを辿って……という事を繰り返します。
ストリーミングサウンドにおいて
Looping
プロパティは、
NextPart
プロパティを辿るか否かを表します(スタティックサウンドにおいても
NextPart
が常に自分自身であると捉えれば、同じ意味です)。また、
Looping
がtrueの場合でも、
NextPart
がnull参照であれば、そこで再生は止まります。
ストリーミングサウンドなどでは、サウンドパートの終端まで再生されると、パート終端まで再生された事が通知されます。これは
EndOfPart
イベントの発生によって実現されます。
| [概念] | ||
|---|---|---|
| Published | : | 2009-10-27T00:50:14+09:00 |
| Last Modified | : | 2009-10-27T00:50:14+09:00 |
| Table of Contents | : | SounDecoder Sounds |
| Verified with | : |
|