サウンドライブラリ・ドライバの初期化サンプル

1998. 9.29更新

サンプルについて

 このサンプルはサウンドライブラリの初期化及びサウンドドライバのダウンロード・初期化を行うサンプルです.


サンプルの流れ

 サウンドライブラリの初期化を行い,ワークメモリに既に読み込まれているサウンドドライバをダウンロードし,初期化します.

 処理の流れとしては

  1. サウンドライブラリの初期化sdLibInit

  2. メモリブロックハンドルの取得sdMemBlkCreate

  3. メモリブロックハンドルにパラメータを設定sdMemBlkSetPrm

  4. サウンドドライバのダウンロード・初期化sdDrvInit

  5. メモリブロックハンドルの破棄sdMemBlkDestory

となります.


注意点


実際のコーディング

 実際のコーディングを下記に提示します.なお,このサンプルは理解のしやすさを優先するためにエラーチェックをかなり省いています.

サウンドライブラリ・サウンドドライバの初期化サンプル
/*********************************************************
*
* Sound Library Sample
*
* サウンドライブラリ・ドライバの初期化を行います.
*
*********************************************************/


#include <sd_sg.h>

SDE_ERR SoundInit( Void *snd_drv_ptr)
{
SDE_ERR result = SDE_ERR_NOTHING;
SDMEMBLK memblk = NULL;

if ( ( result = sdLibInit( NULL, 0, 0)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}
if ( ( result = sdMemBlkCreate( &memblk)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}
/* 第二引数のブロックサイズはsdDrvInitでは実際には使用しません */
if ( ( result = sdMemBlkSetPrm( memblk, snd_drv_ptr, 0, SDD_MEMBLK_SYNC_FUNC, NULL)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}
/* ダウンロードおよび実行 */
if ( ( result = sdDrvInit( memblk)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}

exit:
if ( memblk != NULL)
{
result = sdMemBlkDestory( memblk);
}
return ( result);
}

/*EOF*/