我的代码是这样的
有两个按钮,一个按钮是改变他的路径,一个按钮是用来播放的。
代码分别如下:
//改变路径
procedure TForm11.Button3Click(Sender: TObject);
var
fn:String;
begin
if opendialog1.Execute and fileExists(opendialog1.fileName)then
begin
fn:=opendialog1.filename;
with table1 do
begin
if not (state in[dsInsert,dsEdit])then
edit;
fieldbyname('路径').asstring:=extractfilename(fn);//把路径写入数据库。
post;
end;
end;
end;
//播放声音
procedure TForm11.Button10Click(Sender: TObject);
begin
if table1.fieldbyname('路径').asstring='' then
showmessage('没有声音文件!')
else
begin
with mediaplayer1 do
begin
Close;
filename:='sound/'+table1.fieldbyname('路径').asstring;
showmessage(filename) ;
open;
play;
end;
end;
end;出现如下问题:刚运行时点击播放声音按钮则可以听到声音,比如原来是1.WAV,但是后来改变了声音文件,把2.wav写入了数据库,则此时点击播放按钮时,出现了错误,错误提示是找不到指定的文件
望各位帮忙。
有两个按钮,一个按钮是改变他的路径,一个按钮是用来播放的。
代码分别如下:
//改变路径
procedure TForm11.Button3Click(Sender: TObject);
var
fn:String;
begin
if opendialog1.Execute and fileExists(opendialog1.fileName)then
begin
fn:=opendialog1.filename;
with table1 do
begin
if not (state in[dsInsert,dsEdit])then
edit;
fieldbyname('路径').asstring:=extractfilename(fn);//把路径写入数据库。
post;
end;
end;
end;
//播放声音
procedure TForm11.Button10Click(Sender: TObject);
begin
if table1.fieldbyname('路径').asstring='' then
showmessage('没有声音文件!')
else
begin
with mediaplayer1 do
begin
Close;
filename:='sound/'+table1.fieldbyname('路径').asstring;
showmessage(filename) ;
open;
play;
end;
end;
end;出现如下问题:刚运行时点击播放声音按钮则可以听到声音,比如原来是1.WAV,但是后来改变了声音文件,把2.wav写入了数据库,则此时点击播放按钮时,出现了错误,错误提示是找不到指定的文件
望各位帮忙。
解决方案 »
- 智力扫雷小游戏辅助工具
- 当form close以后,通过该form设置的钩子也自动失效了吗?
- 修改注册表,改一个扩展名的默认打方式,及对应图标,但系统没有马上刷新对应文件图标,应该怎么弄?
- 在dbgrid中将内容转为文本文件,字段间用,分隔
- 请问编写中文语音识别系统的问题?送100分
- treeview+access 小问题
- 可以动态建立控件吗?!
- 怎样得到Oracle数据库中的function的返回值?
- 强烈抗议<程序员>把代码放到网站上的做法!!!!
- 怎样在一个事件动行中终止,然后动行另一个事件啊?
- 一般出现"无法定位程序输入点于****动态链接库中"的错误是怎么产生的,怎么解决?
- 请各位大侠,各位高手帮忙!
begin
if openDialog1.Execute then
begin
MediaPlayer1.FileName:=Opendialog1.FileName;
mediaPlayer1.Close;
MediaPlayer1.Open;
MediaPlayer1.TimeFormat:=tfhms;
end;
end;
上面的代码是选择歌曲的,你的另外一个button键就可以播放了
filename:=ExtractFilePath(application.ExeName)+'sound/'+table1.fieldbyname('路径').asstring;好像就可以了。