读书人

各位大侠请教。关于录音的有关问题

发布时间: 2012-01-13 22:43:29 作者: rapoo

各位大侠,请问。关于录音的问题?
我想在C#里调 waveInOpen 函数。

这是一个WIN32 API

我在C#里是如此包装的。

[DllImport("winmm.dll", EntryPoint = "waveInOpen")]
public static extern int waveInOpen(
ref int lphWaveIn,
int uDeviceID,
ref WAVEFORMAT lpFormat,
int dwCallback, //此处注意
int dwInstance,
int dwFlags);

上面红的参数是一个INT, 在C++下是可以传线程的ID以及回调函数的名称,不知在C#里如何传?

请各位大侠赐教。

[解决办法]

探讨
申明一个委托

public delegate void WaveInOpenProc(...);

[DllImport("winmm.dll", EntryPoint = "waveInOpen")]
public static extern int waveInOpen(
ref int lphWaveIn,
int uDeviceID,
ref WAVEFORMAT lpFormat,
WaveInOpenProc callback,
int dwInstance,
int dwFlags);

定义一个和WaveInOpenProc返回值和参数一样的函数:

void WaveInOpenProcFunc(...)
{
}

调用
waveInOpen(..…

[解决办法]
http://blog.csdn.net/qiqi5521/archive/2007/12/02/1911371.aspx
参考这个

读书人网 >C#

热点推荐