各位大侠,请问。关于录音的问题?

lvxuef 2009-01-08 01:46:49
我想在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#里如何传?

请各位大侠赐教。
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvxuef 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpio 的回复:]
申明一个委托

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(..…
[/Quote]

谢谢兄台
APP开发王 2009-01-08
  • 打赏
  • 举报
回复
发表于:2009-01-08 14:58:523楼 得分:0
引用 2 楼 cpio 的回复:
申明一个委托

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(..…

UP
jimu8130 2009-01-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/qiqi5521/archive/2007/12/02/1911371.aspx
参考这个
jiang_jiajia10 2009-01-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpio 的回复:]
申明一个委托

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(..…
[/Quote]
UP
cpio 2009-01-08
  • 打赏
  • 举报
回复
申明一个委托

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(...,WaveInOpenProcFunc, ...);

lvxuef 2009-01-08
  • 打赏
  • 举报
回复
顶一下下

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧