Ir para conteúdo
Fórum Script Brasil

António44

Membros
  • Total de itens

    168
  • Registro em

  • Última visita

Tudo que António44 postou

  1. Compreedido.sõ outra questão o tamanho do' OLE' pode ir no máximo até quantos megas? Abraço
  2. Mesmo que tenha um titulo diferente fica no lugar da anterior ? pensei como tem titulo diferente criaria novo file ? Abraço
  3. Ao tirar as musicas da tabela para poder reproduzir elas certo? e depois essas faixas ficam no disco,ou é um temporário enquanto reproduz?. Abraço
  4. Não em não, o D3 não tem. StoredProc1,Session1,BatchMove1,UpdateSQL1,Query1,DataSource1,Table1,Database1
  5. DataSetProvider1 - ClientDataSet1 o d3 não tem esses componentes eu não tenho o d7 instalado. Abraço
  6. outra solução seria voce salvar as suas musicas em uma tabela no delphi, atraves de um campo tipo BLOB Não tenho ideia de como guardar no BLOB e depois reproduz como? usa-se o mesmo codigo que testamos no post anterior ??? se puder dar uma ajuda eu agradeço. Abraço
  7. Reparei que o tópico esta resolvido,e de certa maneira esta...só uma pequena duvida aqui,eu estou gravando os link criados pelo no listbox em base de dados para aceder as musicas quando quiser e não voltar a procurar. C:\Lionel\ACD\ACDC If You Want Blood (You Got It)(Official Audio).mp3 O problema é que se a musica for removida da pasta gera um erro... ''is not a válid integer value ,como ultrapassar esse erro com uma mensagem.
  8. Opa tinha o Multiselect =true. Abraço
  9. E possivel a medida que vai passando as faixas mudar tb a selecção auto no listbox? A faixa muda mas selecão não muda,se eu tiver seleccionado a 1 faixa de 3 exemplo....muda de faixa mas o select no listbox fica na 1 o que estou tentando é que o select do listbo acompanhe a passagem das faixas. Abraço
  10. E possivel a medida que vai passando as faixas mudar tb a selecção auto no listbox? abraço
  11. Acrescentei 2 linhas no timer1 e agora não da erro e quando chega na ultima volta para a 1º a lista ta funcionando bem o que eu queria agora era, tendo a lista carregada com várias faixas tenha esta opção de tocar todas e outra para só tocar a faixa seleccionada. procedure TForm1.Timer1Timer(Sender: TObject); begin Gauge1.Refresh; if Gauge1.MaxValue <> 0 then Gauge1.Progress := GetMP3Pos; if Gauge1.Progress = Gauge1.MaxValue then begin Gauge1.Progress := 0; if ListBox1.ItemIndex >= ListBox1.items.Count -1 then exit;//acrescentei aqui esta linha CloseMP3;//Mudei aqui esta linha fname := ListBox1.Items.Strings[listbox1.itemindex+1]; ListBox1.ItemIndex := ListBox1.ItemIndex + 1;//acrescentei aqui esta linha OpenMP3(fname); PlayMP3; TrackBar1Change(sender); end; end; Abraço
  12. Tenho um erro....se tiver só uma faixa no liistbox ele toca mas no final como não tem mais faixas gera um erro. Listindex out of bounds e começa a disparar janelas de erro se tiver 2ou mais ele passa para a faixa seguinte mas no final dá o mesmo erro. Abraço
  13. Continua dando erro nas linhas onde tem LongInt =1. Eu estou usando o velhão D3 não tenho aqui o 7. procedure RewindMP3(ToPlace: LongInt =1); Erro expected and found (=)
  14. procedure ForwardMP3(ToPlace: LongInt =1);//Erro aqui Erro expected and found (=1) procedure RewindMP3(ToPlace: LongInt =1); Erro expected and found (=1) procedure TForm1.Button8Click(Sender: TObject); begin OpenMP3(fname); Gauge1.MaxValue := lengthmp3(fname); PlayMP3; Timer1.Enabled := true; end; teria que alterar algo no timer ??? interval ou eanbled true ou false Só toca a 1 faixa e quando acaba se fazer um play novamente não da nada. O gauge1 tb não mexe.
  15. Tem erro procedure ForwardMP3(ToPlace: LongInt =1); = procedure ForwardMP3(ToPlace: LongInt =1);//Erro aqui var TmpStr: PChar; begin GetMem(TmpStr, 128); mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0); mciSendString(PChar('status mp position wait'), TmpStr, 128, 0); mciSendString(PChar('play mp from ' + IntToStr(StrToInt(TmpStr) + ToPlace)), nil, 0, 0); mciSendString(PChar('set mp time format tmsf'), nil, 0, 0); FreeMem(TmpStr); end; procedure RewindMP3(ToPlace: LongInt = 1);//e aqui tb de dar var TmpStr: PChar; begin GetMem(TmpStr, 128); mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0); mciSendString(PChar('status mp position wait'), TmpStr, 128, 0); mciSendString(PChar('play mp from ' + IntToStr(StrToInt(TmpStr) - ToPlace)), nil, 0, 0); mciSendString(PChar('set mp time format tmsf'), nil, 0, 0); FreeMem(TmpStr); end;
  16. Não dou com a forma de contornar isto... Abraço Não dou com a forma de contornar isto... Abraço
  17. E haverá uma forma de fazer isso ?
  18. Não costumo usar isso....como usaria. procedure TForm1.Button8Click(Sender: TObject); var i : integer; begin if listbox1.itemindex <0 then showmessage('lista vazia...selecione musica ')else begin for i:= 0 to listbox1.items.count - 1 do //// ALTERAÇÃO begin time.Interval := lengthmp3(listbox1.items[i]); mciSendString('Close MM', abc, 0, 0); //Close audio fname := listbox1.Items.strings[i]; //Get what was selected abc3 := GetShortName(fname); //Change filename to short file name abc2 := PChar('Open ' + abc3 + ' Alias MM'); //Open file code mciSendString(abc2, abc, 0, 0); //Open the file to play mciSendString('Play MM', abc, 0, 0); //Play the file sleep(time.Interval); //// ESPERAR O TEMPO DA MUSICA mciSendString('Close MM', abc, 0, 0); //Close audio; end; end; end;
  19. Agora eu testei aqui e reparei que o formulário trava a musica fica tocando mas não tenho como parar!
  20. Esta tudo a funcionar muito obrigado jhonas...estou a testar agora uma lista de musicas. Obrigado abraço
  21. Da erro aqui..... mp3time.Interval := lengthmp3(listbox1.items); procedure TForm1.Button8Click(Sender: TObject); var i : integer; begin if listbox1.itemindex <0 then showmessage('lista vazia...selecione musica ')else begin for i:= 0 to listbox1.items.count - 1 do //// ALTERAÇÃO begin mp3time.Interval := lengthmp3(listbox1.items[i]); mciSendString('Close MM', abc, 0, 0); //Close audio fname := listbox1.Items.strings[i]; //Get what was selected abc3 := GetShortName(fname); //Change filename to short file name abc2 := PChar('Open ' + abc3 + ' Alias MM'); //Open file code mciSendString(abc2, abc, 0, 0); //Open the file to play mciSendString('Play MM', abc, 0, 0); //Play the file sleep(mp3time.Interval); //// ESPERAR O TEMPO DA MUSICA mciSendString('Close MM', abc, 0, 0); //Close audio; end; end; end;
  22. Tem o texto a frente da função....onde estou encravado é no procedure TForm1.Button8Click(Sender: TObject); de resto esta bom. Obrigado
  23. Eu não uso componte, aqui vai o codigo. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls,MMSystem, Forms, Dialogs, StdCtrls, MPlayer, ComCtrls; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; ListBox1: TListBox; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; SaveDialog1: TSaveDialog; Button8: TButton; Button9: TButton; TrackBar1: TTrackBar; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure TrackBar1Change(Sender: TObject); procedure FormShow(Sender: TObject); private procedure TestaVolume; procedure MudaVolume; { Private declarations } public { Public declarations } end; var Form1: TForm1; fname : string; //FileName abc: pchar; //Yes I know, wierd variables...but oh well! abc2: pchar; // " " " , " " ... " " " abc3: string; Cont : Integer = 0 ; implementation function GetShortName(sLongName : string) : string; var sShortName : string; nShortNameLen : integer; begin SetLength( sShortName, MAX_PATH ); nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1); if(0 = nShortNameLen)then begin end; SetLength(sShortName, nShortNameLen); Result := sShortName; end; function FSI(N: String): pchar; var S : pchar; begin S := PChar(N); FSI := S; end; {$R *.DFM} procedure TForm1.MudaVolume; var WaveCaps : TWaveOutCaps; VolDir, VolEsq : Word; begin VolEsq := Trunc((TrackBar1.Position-100) / 100 * $FFFF); VolDir := Trunc((TrackBar1.Position-100) / 100 * $FFFF); if waveOutGetDevCaps(WAVE_MAPPER, @WaveCaps, sizeof(TWaveOutCaps)) = MMSYSERR_NOERROR then if (WaveCaps.dwSupport and WAVECAPS_VOLUME) <> 0 then WaveOutSetVolume(Integer(WAVE_MAPPER), MakeLong(VolEsq,VolDir)); end; procedure TForm1.TestaVolume; var WaveCaps : TWaveOutCaps; Volume : DWord; begin if waveOutGetDevCaps(WAVE_MAPPER, @WaveCaps, sizeof(TWaveOutCaps)) = MMSYSERR_NOERROR then if (WaveCaps.dwSupport and WAVECAPS_VOLUME) <> 0 then begin WaveOutGetVolume(Integer(WAVE_MAPPER), @Volume); with TrackBar1 do Position := 100 - Trunc(LoWord(Volume) / $FFFF * 100); end; end; procedure TForm1.Button1Click(Sender: TObject); begin If opendialog1.Execute = True Then //Shows open dialog begin fname := opendialog1.filename; //Makes fname the filename selected (If one was selected) listbox1.items.add(opendialog1.filename); //Add it to the list box end; end; procedure TForm1.Button2Click(Sender: TObject); begin OpenDialog1.Filter := '|All Files|*.*'; //Change open dialog to list files If OpenDialog1.Execute=True Then begin ListBox1.Items.LoadFromFile(OpenDialog1.Filename); //Open list end; OpenDialog1.Filter := 'Audio Files|*.mp3;*.wav;*.wma'; //Change open dialog to audio files end; procedure TForm1.FormCreate(Sender: TObject); var nRet : Longint; nNewWidth : Integer; begin nNewWidth := ListBox1.Width + 300; //Set list box's horizontal bar length nRet := SendMessage(ListBox1.Handle, 1045, nNewWidth, 0); //Make list box have a horizontal bar! TestaVolume; end; procedure TForm1.Button3Click(Sender: TObject); begin mciSendString('Pause MM', abc, 0, 0); //Simple enough, pause! end; procedure TForm1.Button4Click(Sender: TObject); begin mciSendString('Stop MM', abc, 0, 0); //Stop audio mciSendString('Close MM', abc, 0, 0); //Close audio for application end; procedure TForm1.Button5Click(Sender: TObject); begin if listbox1.itemindex <0 then showmessage('lista vazia...selecione musica ')else begin mciSendString('Close MM', abc, 0, 0); //Close audio fname := listbox1.Items.strings[listbox1.itemindex]; //Get what was selected abc3 := GetShortName(fname); //Change filename to short file name abc2 := PChar('Open ' + abc3 + ' Alias MM'); //Open file code mciSendString(abc2, abc, 0, 0); //Open the file to play mciSendString('Play MM', abc, 0, 0); //Play the file end; end; procedure TForm1.Button6Click(Sender: TObject); begin mciSendString('Resume MM', abc, 0, 0); //Simple enough, pause! end; procedure TForm1.Button7Click(Sender: TObject); begin SaveDialog1.Filter := 'List Files|*.lst|Txt Files|*.txt|All Files|*.*'; //Change filter to save If SaveDialog1.Execute=True Then begin ListBox1.Items.SaveToFile(SaveDialog1.Filename); //Save list to wherever selected end; end; procedure TForm1.Button8Click(Sender: TObject); var i : integer; begin if listbox1.itemindex <0 then showmessage('lista vazia...selecione musica ')else begin For i := listbox1.itemindex to listbox1.Count do begin mciSendString('Close MM', abc, 0, 0); //Close audio fname := listbox1.Items.strings[listbox1.itemindex]; //Get what was selected abc3 := GetShortName(fname); //Change filename to short file name abc2 := PChar('Open ' + abc3 + ' Alias MM'); //Open file code mciSendString(abc2, abc, 0, 0); //Open the file to play mciSendString('Play MM', abc, 0, 0); //Play the file end; end; end; procedure TForm1.Button9Click(Sender: TObject); var i : integer; begin for i:=0 to ListBox1.Items.Count-1 do ShowMessage( ListBox1.Items.Strings[i] ); end; procedure TForm1.TrackBar1Change(Sender: TObject); begin MudaVolume ; end; procedure TForm1.FormShow(Sender: TObject); var nRet : Longint; nNewWidth : Integer; begin nNewWidth := ListBox1.Width + 300; //Set list box's horizontal bar length nRet := SendMessage(ListBox1.Handle, 1045, nNewWidth, 0); //Make list box have a horizontal bar! TestaVolume; end; end.
×
×
  • Criar Novo...