| GOGO.DLL エンコードサンプル |
カレントディレクトリにある、WAVEファイル"TEST.WAV"を、MP3ファイルへ変換します。
1.プログラムを開始するにあたって
本サンプルはVisualC++6.0 + SP3 及び Borland C++
Builder用に書かれたものです。
他のバージョンでの動作確認は行っておりません。
2.最低必須の知識
サンプルプログラムをお読みいただく上で、最低限の知識が最低限必要となります。
3.サンプルソース testenc.cpp stab.cpp musenc.h testenc.exe
/*
* カレントディレクトリのTEST.WAVをエンコードする.
* コンパイル時stab.cppを一緒にコンパイルしてください
*/
/*
* for GOGO-no-coda (1999.11.09)
* Copyright (C) 1999 PEN@MarineCat
*/
#include <stdio.h>
#include <stdlib.h>
#include "musenc.h"
int
main()
{
static const char *filename = "test.wav";
MERET rval;
// 1. DLL読み込み&初期化
if( MPGE_initializeWork() != ME_NOERR )
return -1; // エラー
// 2. ファイル名の設定
MPGE_setConfigure( MC_INPUTFILE, MC_INPDEV_FILE, (UPARAM)filename);
// 3. パラメータ解析
rval = MPGE_detectConfigure();
if( rval == ME_NOERR ){
// 正常終了した場合
// 全フレーム数を取得
UPARAM totalFrame, curFrame;
MPGE_getConfigure( MG_COUNT_FRAME, (UPARAM*)&totalFrame);
curFrame = 0;
// 4.エンコード開始
do {
if( totalFrame )
printf("%d / %d (%d%%)\r", curFrame, totalFrame,
curFrame / ((totalFrame + 99)/100) );
curFrame++;
// 1フレームエンコードを繰り返す
rval = MPGE_processFrame();
// 入力ストリームがなくなる(ME_EMPTYSTREAM) or
// その他エラーが発生するまで繰り返し。
} while( rval == ME_NOERR );
if( rval != ME_EMPTYSTREAM ){
printf("\n\nエラーが発生しました errcode = %d \n", rval);
}
} else {
if( rval == ME_INFILE_NOFOUND )
printf("入力ファイル[test.wav]を開けませんでした\n");
else
printf("解析エラーが発生しました\n");
}
// 5.エンコーダーを閉じる
MPGE_closeCoder();
// 6.DLL終了 & 開放
MPGE_endCoder();
return 0;
}