Importoi ActiveX -komponenttina Microsoftin Windows Media Player. HUOM: Et voi hyväksyä Delphin ehdottamaa TMediaPlayer -nimeä, koska se menee päällekkäin Delphin oman MCI -pohjaisen komponentin kanssa (ainakaan Delphi5:ssä ei voi).
Sensijaan nimeä tuotavana oleva ActiveX -komponentti vaikkapa TMsMediaPlayer, niin pitäisi toimia ok.
Jos ongelmana on toistuvat AccessViolation -ilmoitukset, tee näin:
1. ÄLÄ pudota TMsMediaPlayeriä formille, vaan luo se koodissa, siis näin:
TForm1.FormCreate(...); begin // MyPlayer := TMsMediaPlayer.Create(Self); MyPlayer.parent := Panel1;
end;
ja sitten:
lisää formille WM_Destroy -viestikäsittelijä.
Siinä tee näin:
TForm1.WMDestroy(...); begin // FreeAndNil(MyPlayer);
inherited; end;
Tämän pitäisi lopettaa AccessViolation -ilmoitukset.
Vastaukset 4
Vanhimmat
MediaPlayer1.DisplayRect := Panel1.ClientRect;
se pitää laittaa oikeaan kohtaan
mediaPlayer1.Open;
mediaplayer1.DisplayRect:=panel1.ClientRect;
mediaPlayer1.Play;
Jos olet video soitinta tms. tekemässä suosittelen DSPackia.
http://www.progdigy.com/
toinen vaihtoehto:
Importoi ActiveX -komponenttina Microsoftin Windows Media Player. HUOM: Et voi hyväksyä Delphin ehdottamaa TMediaPlayer -nimeä, koska se menee päällekkäin Delphin oman MCI -pohjaisen komponentin kanssa (ainakaan Delphi5:ssä ei voi).
Sensijaan nimeä tuotavana oleva ActiveX -komponentti vaikkapa TMsMediaPlayer, niin pitäisi toimia ok.
Jos ongelmana on toistuvat AccessViolation -ilmoitukset, tee näin:
1. ÄLÄ pudota TMsMediaPlayeriä formille, vaan luo se koodissa, siis näin:
TForm1.FormCreate(...);
begin
//
MyPlayer := TMsMediaPlayer.Create(Self);
MyPlayer.parent := Panel1;
end;
ja sitten:
lisää formille WM_Destroy -viestikäsittelijä.
Siinä tee näin:
TForm1.WMDestroy(...);
begin
//
FreeAndNil(MyPlayer);
inherited;
end;
Tämän pitäisi lopettaa AccessViolation -ilmoitukset.