如此奇怪的問題 |
尚未結案
|
jzhyyzj
一般會員 發表:4 回覆:0 積分:0 註冊:2004-11-24 發送簡訊給我 |
我使用Delphi自帶的MediaPlayer播放一些Mp3檔,但是如果檔正在播放,我選擇播放下一個檔時,就會出現選擇的這個檔前面的十幾個幀無法播放的現象。我實在是找不出原因了,請各位指教。
代碼如下。
procedure TForm1.Button1Click(Sender: TObject); var i1: integer; S1: String; begin i1:= Button1.Tag 1; Button1.Tag:= i1; Button1.Caption:= InttoStr(i1); try if Mediaplayer1.Mode= mpPlaying then Mediaplayer1.Stop; finally Mediaplayer1.Close; end; with Mediaplayer1 do begin Mediaplayer1.FileName:= 'C:\Temp\' InttoStr(i1) '.mp3'; Mediaplayer1.AutoOpen:= True; Mediaplayer1.Open; Mediaplayer1.Play; end; end;發表人 - jzhyyzj 於 2004/11/28 09:58:25 |
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
jzhyyzj您好,您的問題根以下這篇一模一樣
class="code">
MUSICINDEX:integer; //音樂連續播放
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if (MListCbx.Checked = true) and (MediaPlayer1.NotifyValue = nvSuccessful) then
begin
if MUSICINDEX = (musiclists.count) then exit; //表示播放完畢了 Mediaplayer1.FileName:= musiclists.Strings[MUSICINDEX]; //播放第(MUSICINDEX)首
if FileExists(Mediaplayer1.FileName) then
begin
Mediaplayer1.Open;
Mediaplayer1.Play;
end;
MUSICINDEX:=MUSICINDEX+1; //檔案指標加1
if MUSICINDEX=(musiclists.count) then MUSICINDEX:=0; //加了這行..就可以重複播放
//若不加..放完就停止了
end;
if (MListCbx.Checked = False) and (MediaPlayer1.NotifyValue = nvSuccessful) then
MediaPlayer1.Play;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Mediaplayer1.AutoRewind:=false;
Mediaplayer1.Notify := true;
loadstr.LoadFromFile('c:\list.txt');
MUSICINDEX:=0;
Mediaplayer1.FileName:= musiclists.Strings[MUSICINDEX];
if FileExists(Mediaplayer1.FileName) then
begin
Mediaplayer1.Open;
Mediaplayer1.Play;
end else exit;
end; 看看吧,應該能解決您的問題 <>
<>
<>
< >>
>
<>
< class="code"> =程式是一種藝術 也是訓練自己的分析規劃=
=是段落分明 或是雜亂無章=
=是一言以敝 或是廢話連篇=
=是一目了然 或是艱深難懂=
體會這份藝術 您會了解另一份喜悅與成就
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |