我的代码是这样的
有两个按钮,一个按钮是改变他的路径,一个按钮是用来播放的。
代码分别如下:
//改变路径
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写入了数据库,则此时点击播放按钮时,出现了错误,错误提示是找不到指定的文件
望各位帮忙。
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;好像就可以了。