高手都去那了???????1000分奉上,有人答吗。

hyqwater 2002-11-05 04:39:42
请举一例子:
用midistreamopen、midistreamout等Api函数播放一段midi音乐。

delphi6.0下要能调试通过的。


我问了第三次了,还是没有人答。高手都去那了???????
能通过的决不吃言。
...全文
22 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyqwater 2002-11-06
  • 打赏
  • 举报
回复
各位,本人不是赖,我试了一天了,还不成功,用midioutshortmsg可以,但用
midistreamout总不成功。



streamTrack.Clear;

MidiDataToStream;//转换一条音轨


htrack.lpData:=streamTrack.Memory; //streamTrack
//为TmemoryStream型, 我把midi的数据转换成midi事件后存在里面。

htrack.dwBufferLength:=streamtrack.Size;
htrack.dwBytesRecorded:=streamtrack.Size;
htrack.dwFlags:=0;

car_err:=midiOutPrepareHeader(hstream,@htrack,sizeof(TMidiHdr));

if car_err<>MMSYSERR_NOERROR then
begin
Application.MessageBox(pchar('错误代码:'+vartostr (car_err)),'midi输出设备错误!');
exit;
end;

car_err:=midiStreamOut(hstream,@hTrack,sizeof(TMidiHdr));
if car_err<>MMSYSERR_NOERROR then
begin
Application.MessageBox(pchar('错误代码:'+vartostr(car_err)),'midi输出设备错误!');
exit;
end;

midiStreamRestart(hstream);


究竟哪里出了问题????
qiandeng 2002-11-05
  • 打赏
  • 举报
回复
感情是楼主自己懒,想吃现成的啊
SilveryFox 2002-11-05
  • 打赏
  • 举报
回复
mediaplay1.devicetype:=dtsequencer;
mediaplay1.filename:=filename;
mediaplay1.open;
mediaplay1.displayrect:=rect(,,,,,);
mediaplay1.frames:=1;
mediaplay1.step;
CloneCenter 2002-11-05
  • 打赏
  • 举报
回复
同意楼上观点,实际上 Delphi 的帮助和 MSDN 的内容可以解决 CSDN 上大家提出的绝大多数问题。
gcd0318 2002-11-05
  • 打赏
  • 举报
回复
自己搜索一下,很多编程站都有这样的例子
有了CSDN也不能助长懒惰的坏风气
SilveryFox 2002-11-05
  • 打赏
  • 举报
回复
多媒体编程中有的是呀,找找看
王集鹄 2002-11-05
  • 打赏
  • 举报
回复
http://www.fnl.nl/ct-nl/archief1997/ct9711/listings/dphi1.txt
仅供参考~~
耙子 2002-11-05
  • 打赏
  • 举报
回复
有等的时间看着帮助早写出来。
knock 2002-11-05
  • 打赏
  • 举报
回复
我昨天看过,《win32程序员指南》上的,有现成源码。可没光盘,我不想打字啊。。。。。。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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