本人现在要写一个可以把VOX文件转换为WAV文件的组件,该组件可被ASP调用。我在CSDN上找到了“voxtools.dll”这个组件,但是不知道怎么用。能不能用"regsvr32"命令注册了直接用,还是要用C写一个调用这个DLL的组件?我应该怎么写这个组件?有没有能给点提示的源代码?
Email:[email protected]

解决方案 »

  1.   

    天空软件音频类里面有VOX转WAV的.用那软件.
      

  2.   

    你下的那个readme文件里有说明,已经给了你导出函数的形式,你直接在你的程序里调用这个DLL就可以了把,还给了你静态库文件,
    你可以到网上看自己写DLL的例子,看是怎么调用DLL的函数的。
    http://www.vckbase.com/code/listcode.asp?mclsid=13&sclsid=1303extern "C" int __declspec(dllexport) __stdcall VoxToWav(char * InputFile,char * OutFile);
    extern "C" int __declspec(dllexport) __stdcall WavToVox(char * InputFile,char * OutFile);
    建议看看这个DLL(Dynamic Link Libraries)专题
    http://www.microsoft.com/china/community/program/OriginalArticles/techdoc/dll.mspx
      

  3.   

    请问我怎样去写一个组件,引入另一个静态连接库,动态调用DLL函数?
      

  4.   

    用如下代码测试"voxtools.dll"这个组件: HMODULE hMathLib = LoadLibrary("voxtools.dll");
    ASSERT(hMathLib != NULL); pfFunc MyProc = NULL;  MyProc = (pfFunc)GetProcAddress(hMathLib, "VoxToWav");
    if (MyProc != NULL)
    {
    if ((*MyProc)("C:\\test\\test.vox", "C:\\test\\test.wav") > 0)
    {
    MessageBox("Succed!",NULL,MB_OK);

    }else
    {
    MessageBox("Failed!",NULL,MB_OK);
    }
    }
    FreeLibrary(hMathLib);转换过程中提示错误,但是可以实现语音的转换,错误内容如下:
    The value of ESP was not properly saved across a function call.This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.请问这是什么问题?是代码有问题还是DLL的问题?