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; }