XA fR[hCu xadec.dll
2001/03/03 by S.Nakamoto

DLĹH
@BandJAMŎgpĂXAtH[}bg̃f[^WJ邽߂DLLłB
@Rgp邱ƂŁÃAvP[VłXAf[^Ƃ
@\ɂȂ܂B

@
@xadec.hxadec.libvWFNgɑgݍłB
@xadec.dll͎st@CƓtH_ɃRs[ĂB
@ȂAxadec.libVisualC++ 6.0płB̊Jł͕̓ۏ؂܂B
@̏ꍇLoadLibraryGetProcAddressgđgݍłB

\
@typedef struct _XAHEADER {
@	ULONG id;
@	ULONG nDataLen;
@	ULONG nSamples;
@	USHORT nSamplesPerSec;
@	UCHAR nBits;
@	UCHAR nChannels;
@	ULONG nLoopPtr;
@	SHORT befL[2];
@	SHORT befR[2];
@	UCHAR pad[4];
@} XAHEADER;

@XAf[^̐擪ɕtĂwb_łB
@Ɏgpł낤ô݉܂B
@id
@@ʗp̒lłB̒lxadec.h_XAIDƂĒ`Ă܂B
@nDataLen
@@f[^̃TCYłB
@nSamples
@@WJ̃TvłB
@nSamplesPerSec
@@Đ[głB
@nBits
@@krbgłB
@@4/6/8̂ꂩłB


@typedef struct _XASTREAMHEADER {
@	UCHAR *pSrc;
@	ULONG nSrcLen;
@	ULONG nSrcUsed;
@	UCHAR *pDst;
@	ULONG nDstLen;
@	ULONG nDstUsed;
@} XASTREAMHEADER;

@xaDecodeConvertɈnłB
@pSrc:
@@WJf[^
@nSrcLen:
@@pSrc̃TCY
@nSrcUsed:
@@WJꂽf[^TCY
@pDst:
@@WJf[^
@nDstLen:
@@pDst̃TCY
@nDstUsed:
@@WJꂽf[^TCY


֐
@HXASTREAM xaDecodeOpen(XAHEADER *pxah, WAVEFORMATEX *pwfx);
@pxah(in)
@@XÃwb_
@pwfx(out)
@@WAVEFORMATEX
@Ԃl
@@XAXg[nh(sNULL)

@XAXg[open܂B
@ƁAnhԂApwfxɓK؂Ȓlݒ肳܂B

@BOOL xaDecodeClose(HXASTREAM hxas);
@hxas(in)
@@XAXg[nh
@Ԃl
@@->TRUE s->FALSE

@XAXg[close܂B
@Xg[̎gpIAK̊֐closeĂB

@BOOL xaDecodeSize(HXASTREAM hxas, ULONG slen, ULONG *pdlen);
@hxas(in)
@@XAXg[nh
@slen(in)
@@̓TCY
@pdlen(out)
@@o̓TCY
@Ԃl
@@->TRUE s->FALSE

@w肵XAXg[ɂāAsleñTCỸf[^WJ邽߂
@KvȔz̃TCYԂ܂B
@XAwb_nDataLen^ƁASẴf[^WJ邽߂ɕKv
@TCYԂ܂B

BOOL xaDecodeConvert(HXASTREAM hxas, XASTREAMHEADER *psh);
@hxas(in)
@@XAXg[nh
@psh(in/out)
@@WJ
@Ԃl
@@->TRUE s->FALSE

@XAf[^WJ܂B
@WJɂǂꂾ̃f[^gpꂽ́Apsh->nSrcUsedŒׂ邱Ƃ
@ł܂B
@܂Aǂꂾ̃f[^WJꂽ́Apsh->nDstUsedŒׂ邱Ƃ
@ł܂B

Tvɂ
@sample.cɃTv\[XLqĂ܂B
@nbLĂdocǂނATvĂ
@킩₷Ǝv܂(^^;

Ĕzzɂ
@DLLgpĂut[\tgEFAvɌAxadec.dllP̂
@gݍł̔zz܂B
@s̃\tgVFAEFAȂǂɂ͐΂ɑgݍ܂ȂłB

Ɛ
@̃vO͖ۏ؂łB
@DLLgpĔ@Ȃs͈ؐӔC˂܂B

A
@http://www.bandjam.net/
@{ i(webmaster@bandjam.net)
