试图在PortMidi中打开输入
问题描述:
我试图打开一个midi端口,使用PortMidi从C++中的MIDI键盘读取事件。我使用GetDeviceInfo找到了键盘的设备ID,但无法打开输入。试图在PortMidi中打开输入
功能如下:
Pm_OpenInput ( PortMidiStream ** stream,
PmDeviceID inputDevice,
void * inputDriverInfo,
long bufferSize,
PmTimeProcPtr time_proc,
void * time_info
)
该功能背后的完整文档是here
,我的实...
PortMidiStream **stream;
Pm_OpenInput(stream, 12, NULL, 128, NULL, NULL);
..gives错误
Ru n-Time检查失败#3 - 正在使用变量'stream'而未被初始化。
..这是真的够了,因为我还没有初始化它。我已经浏览了PortMidi.h和大多数互联网试图找到PortMidiStream以及如何初始化它,但没有成功。头文件只是表示它使用typedef和评论说
单PortMidiStream是 描述为一个开放的MIDI设备
这并没有太大的帮助。
任何想法表示赞赏
乔丹
PS-这里的PortMidi下载页面http://sourceforge.net/apps/trac/portmedia/wiki/portmidi
答
文档状态
流是 PortMidiStream指针将 收到的地址一个指向新打开的 流的指针。
因此,修改您的代码以完成它所说的事情。
PortMidiStream *stream; /* A PortMidiStream pointer */
Pm_OpenInput(&stream, 12, NULL, 128, NULL, NULL); /* Pass the address of the pointer */
这是C中用于返回指针值的常见习惯用法。
谢谢,这是排序它 – jordanwise