procedure TForm1.Button1Click(Sender: TObject);
var
st:tmemorystream;
begin
aq1.SQL.Text:='select id,wav from wen where id=1';
aq1.Active:=true; if aq1.FieldValues['id']=null then aq1.Insert else aq1.Edit; st:=tmemorystream.Create;
st.Clear;
st.LoadFromFile(ExtractFilePath(paramstr(0))+'1.wav'); tblobfield(Aq1.FieldByName('wav')).LoadFromStream(st); //写音频流到数据库 st.Free;
aq1.Post;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
st:tmemorystream;
begin
st:=tmemorystream.Create; //
st.Clear;
aq1.SQL.Text:='select wav from wen where id=1';
aq1.Active:=true; tblobfield(Aq1.FieldByName('wav')).SaveToStream(st); //读数据音频到流 //我的问题在这里开始------------------------------------------------ sndplaysound(pchar(st),SND_MEMORY and SND_ASYNC); //如何才能播放呢?如何才能播放呢?如何才能播放呢?我快疯了!!!
//当然不写入临时文件,在内存中播放声音的其它的方法也可以,拜托了!!!
//我的问题结束,谢谢----------------------------------------------
st.Free;
end;
var
st:tmemorystream;
begin
aq1.SQL.Text:='select id,wav from wen where id=1';
aq1.Active:=true; if aq1.FieldValues['id']=null then aq1.Insert else aq1.Edit; st:=tmemorystream.Create;
st.Clear;
st.LoadFromFile(ExtractFilePath(paramstr(0))+'1.wav'); tblobfield(Aq1.FieldByName('wav')).LoadFromStream(st); //写音频流到数据库 st.Free;
aq1.Post;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
st:tmemorystream;
begin
st:=tmemorystream.Create; //
st.Clear;
aq1.SQL.Text:='select wav from wen where id=1';
aq1.Active:=true; tblobfield(Aq1.FieldByName('wav')).SaveToStream(st); //读数据音频到流 //我的问题在这里开始------------------------------------------------ sndplaysound(pchar(st),SND_MEMORY and SND_ASYNC); //如何才能播放呢?如何才能播放呢?如何才能播放呢?我快疯了!!!
//当然不写入临时文件,在内存中播放声音的其它的方法也可以,拜托了!!!
//我的问题结束,谢谢----------------------------------------------
st.Free;
end;
解决方案 »
- 如何增加控件的OnMouseDown和OnMouseUp事件
- 创建窗体类,查看源码?????????????
- 关于打开数据库的速度问题及如何使用上下键和回车键实现选择ComboBOX的项目
- ??为什么我的程序在别人机器上运行不了??
- 各位英雄,我实在解决不了这个问题了!
- 鬱悶.呵呵, 散分!
- 关于CheckListBox的初始化问题?
- 如何实现应用程序在不同的分辨率下执行?急!!!!!!!!!!!
- 谁有delphi5开发人员指南的光盘!我的掉拉,help me!!
- 到那里可以找到dcomcnfg.exe for win98文件
- Delphi有什么控件可以放大缩小图片?
- 在一个程序里控制另一个程序最大化和最小化的问题?
var hFind, hRes: THandle;
Song: PChar;
begin
hFind := FindResource(HLib, PChar(SoundName), 'WAVE');
if (hFind <> 0) then begin
hRes := LoadResource(HLib, hFind);
if (hRes <> 0) then begin
Song := LockResource(hRes);
if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory);
UnlockResource(hRes);
end;
FreeResource(hFind);
end;
tblobfield(Aq1.FieldByName('wav')).SaveTofile('d:\a.wav');
PlaySound('d:\a.wav',0, SND_ASYNC);