alAudioFrame.htm
1.83 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
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.03j">
</HEAD>
<BODY>
<P>
<B><FONT FACE="Arial">alAudioFrame(3P) <BR>
</FONT></B>
<P>
<B>関数名<BR>
</B>
<P>
alAudioFrame
<P>
→ オーディオコマンドリストを作成する<BR>
<P>
<B>構文</B>
<P>
#include <libaudio.h>
<P>
Acmd *alAudioFrame(Acmd *cmdList, s32 *cmdLen, s16
*outBuf, s32 outLen);<BR>
<P>
<B>パラメータ<BR>
</B>
<P>
<B>cmdList</B>
<P>
オーディオコマンドリストを書く領域の開始点を示すポインタ
<P>
<B>cmdLen</B>
<P>
alAudioFrameが生成するコマンドリストの長さを示すポインタ
<P>
<B>outBuf</B>
<P>
alAudioFrameが生成したオーディオコマンドリストを実行する際に、オーディオマイクロコードがシンセサイズしたサンプル波形を書くためのDRAM上の位置を示すポインタ
<P>
<B>outLen</B>
<P>
オーディオコマンドリストが生成するステレオサンプル数<BR>
<P>
<B>説明<BR>
</B>
<P>
オーディオコマンドリストはRSPのオーディオマイクロコードが解釈する一連のコマンド、またはディレクションで、音がどのように合成されるかを記述したものです。<B>alAudioFrame</B>がRSP上で実行されると、オーディオコマンドリストを生成し、outBufに指定されたDRAM上の位置にoutLenバッファ内の合成されたステレオサンプルをアロケートします。ステレオ16ビットのサンプルが生成されているので、outBufにはoutLenがリクエストした各サンプルごとに4バイトが含まれることになります。<B>alAudioFrame</B>は、RSPコマンドの範囲内(それぞれ8バイト長)で、それが生成する、cmdLenによって示された符号付き32ビット数、コマンドリストの長さを書く。次にありうるコマンドリスト位置にもポインタを返します。
<P>
シンセサイザと連動しているプレイヤーがない場合は、alAudioFrameがcmdLenを0に
<P>
セットし、アプリケーションはRSPにタスクを送りません。 <BR>
<P>
<B>注意<BR>
</B>
<P>
alAudioFrameは実際のコマンドリストの実行を指図するものではありません。
<BR>
<BR>
<P>
</BODY>
</HTML>