alSynStartVoiceParam.htm
3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.03j">
</HEAD>
<BODY>
<P>
<B><FONT FACE="Arial">alSynStartVoiceParam(3P) <BR>
</FONT></B>
<P>
<B>関数名<BR>
</B>
<P>
alSynStartVoiceParam
<P>
→ 指定されたボイスで指定されたパラメータを使用して、サンプリング音合成を開始し
<P>
ます。<BR>
<P>
<B>構文</B> <BR>
</FONT>
<P>
#include < libaudio.h > <BR>
<P>
void alSynStartVoiceParam(ALSynth *drvr, ALVoice
*voice, ALWaveTable *tbl,
<P>
f32 pitch, s16 vol, ALPan pan, u8 fxmix, ALMicroTime
time); <BR>
<P>
<B>パラメータ</B> <BR>
</FONT>
<P>
<B>drvr</B> 波形合成ドライバへのポインタ
<P>
<B>voice</B> ボイスへのポインタ
<P>
<B>tbl</B> サウンドwavetableへのポインタ
<P>
<B>pitch</B> ピッチ比を指定する浮動小数値
<P>
<B>vol</B> 再生ボリューム
<P>
<B>pan</B> 再生ステレオパン位置
<P>
<B>fxmix</B> エフェクト処理済み信号と未処理信号の相対的なミックス値
<P>
<B>time</B> サウンドが指定されたボリュームレベルに達するまでの時間(マイクロ秒単
<P>
位)<BR>
<P>
<B>説明<BR>
</B>
<P>
<A HREF="alAudioFrame.htm" >alAudioFrame</A>により作られたコマンドリストの中に、表によって指定されたwavetableを用いてサンプリングデータから指定したボイスのためにサンプリング音を合成するためにコマンドリストの生成を開始します。このライブラリ関数で指定されたパラメータが使用されます。<B>alSynStartVoiceParam</B>を呼び出す前に、ボイスは<A HREF="alSynAllocVoice.htm" >alSynAllocVoice</A>を呼び出してドライバから割り当てられなくてはなりません。<A HREF="alSynAllocVoice.htm" >alSynAllocVoice</A>による割り当てが常に成功するとは限らないので、<B>alSynStartVoiceParam</B>を呼び出す前に結果をチェックすることを確認して下さい。ピッチ、パン、fxmix、ボリュームなどの有効な設定値の詳細については、<B>alSynStartVoicePram</B>,<A HREF="alSynSetFXMix.htm" >alSynSetFXMix</A>,<A HREF="alSynSetVol.htm" >alSynSetVol</A>のリファレンスマニュアルに記載されています。ノイズが鳴り終えたとき、<A HREF="alSynStopVoice.htm" >alSynStopVoice</A>が呼び出されて、そして次に<A HREF="alSynFreeVoice.htm" >alSynFreeVoice</A>が呼び出されるかもしれません。
<BR>
</FONT>
<P>
<B>警告</B> <BR>
</FONT>
<P>
独自にPlayerを書いた時は、<B>alSynStartVoiceParam</B>は、ALVoiceHandler
の中でのみ呼び出されるべきです。また、もし、そのボイスが停止状態で、同じオーディオフレームでスタートされてなければ、いずれのボイスパラメータもセットしてはいけません。言い換えれば、あるコールがボイスパラメータを停止状態にさせたとすると、そのボイスはもっと後の1つ、または複数フレームまでスタートされません。それで、思いもよらない結果となるでしょう。
<BR>
<P>
<B>参照</B> <BR>
</FONT>
<P>
<A HREF="alSynAllocVoice.htm" >alSynAllocVoice(3P)</A>、<A HREF="alSynStopVoice.htm" >alSynStopVoice(3P)</A>、<A HREF="alSynFreeVoice.htm" >alSynFreeVoice(3P)</A>、<A HREF="alSynSetPitch.htm" >alSynSetPitch(3P)</A>、<A HREF="alSynSetPan.htm" >alSynSetPan(3P)</A>、<A HREF="alSynSetVol.htm" >alSynSetVol(3P)</A>、<A HREF="alSynSetFXMix.htm" >alSynSetFXMix(3P)</A>、<A HREF="alSynStartVoice.htm" >alSynStartVoice(3P)</A>、<A HREF="alAudioFrame.htm" >alAudioFrame(3P)</A>
<BR>
</FONT>
<P>
</BODY>
</HTML>