L lishu2002 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #1 我想在程序中控制播放的次数怎么控制?用什么函数?或者用什么控件?Mediaplayer控件能否实现?还有如何探测到一个声音文件被播放完毕?? 请高手指教!!
不 不知道_0909 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #2 可用MediaPlayer1.Position来判断是否播放完毕
T tellyes Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #4 http://vcl.vclxx.org/DELPHI/D32FREE/PDJ_SOUND.ZIP 这个控件可重复播放.wav文件
L lu_sam Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #5 简单的循环语句就可以实现啊,不过是把播放做在循环语句中啊!如果只是WAV文件,使用PLAYSOUND(),不过别忘了USES MMSYSTEM;
L lishu2002 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #6 我知道一般的循环语句可以实现,我想问的是有没有可以播放声音文件的同时控制播放次数的函数或者其他的控制方式!!
L lishu2002 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #7 To: 不知道_0909 怎么用Mediaplayer.Position来判断声音文件是否播放完了?我在播放声音的时候 Mediaplayer控件是非可视的!
不 不知道_0909 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #8 if Mediaplayer.Position>=MediaPlayer1.Length then //一播放完 MediaPlayer1.play
不 不知道_0909 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #9 你可以加上个timer,声明个变量便可以控制播放次数
L lishu2002 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #10 谁有不用timer控件可以控制循环播放的方法?
不 不知道_0909 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #11 procedure TForm1.Button1Click(Sender: TObject); var i,i1: integer;//i1,播放次数 begin i:=0; i1 := 2; while i< i1do begin MediaPlayer1.Play; if MediaPlayer1.Position >= MediaPlayer1.Length then begin MediaPlayer1.Play; i := i+ 1; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var i,i1: integer;//i1,播放次数 begin i:=0; i1 := 2; while i< i1do begin MediaPlayer1.Play; if MediaPlayer1.Position >= MediaPlayer1.Length then begin MediaPlayer1.Play; i := i+ 1; end; end; end;
L lishu2002 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #12 楼上的兄弟,你写的那个程序根本就不行,程序一运行就死机,我在写的时候老是播放一次,不过你这个我运新了一下,一次也播放不了!
不 不知道_0909 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-17 #13 那段代码我是经过测试的,在我的机子上运行正常,你找找自己的原因吧
N naughtboy Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-17 #14 判断放完可以用这个 if(mediaplayer1.NotifyValue = nvSuccessful and mediaplayer1.Mode = mpStopped)
R rifleli Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-17 #16 只要用mediaplayer就可以.把它的notify属性设为True,然后在onnotify事件中写上, if mediaplayer1.mode=mpstopped then rewind; 再设一个变量,累加记次数就可以播放你要的次数了.
只要用mediaplayer就可以.把它的notify属性设为True,然后在onnotify事件中写上, if mediaplayer1.mode=mpstopped then rewind; 再设一个变量,累加记次数就可以播放你要的次数了.
K koy0755 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-18 #17 我试过,用mode属性判断是否已停止播放。是的话就再播放一次就可以了。判断时再加上你要不得热重播次数就可以了。 if i<=10 and media1.mode=mpstopped then begin ......... ....... i=i+1 end;
我试过,用mode属性判断是否已停止播放。是的话就再播放一次就可以了。判断时再加上你要不得热重播次数就可以了。 if i<=10 and media1.mode=mpstopped then begin ......... ....... i=i+1 end;
陈 陈晨 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-18 #18 for i:=0 to 5do begin if(mediaplayer1.NotifyValue = nvSuccessful and mediaplayer1.Mode = mpStopped) then mediaplayer1.open; end; 可以了满足你的要求,
for i:=0 to 5do begin if(mediaplayer1.NotifyValue = nvSuccessful and mediaplayer1.Mode = mpStopped) then mediaplayer1.open; end; 可以了满足你的要求,