Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.08.08
Prihlásený: 26.10.09
Príspevky: 46
Témy: 25
Bydlisko: Nové Mesto ...
Príspevok NapísalOffline : 30.09.2009 21:30

Cez activex mám v delphi 7 vložený windows media player a tomu dávam visible false
keď chcem niečo prehrať robím to takto:
WindowsMediaPlayer1.url:=cestaksuboru;

no a to je jediné čo som zistil
má to ešte nejaké možnosti ? zišlo by sa napríklad stav či sa ešte prehráva elbo už skončilo a podobne


Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 12.10.06
Prihlásený: 16.04.24
Príspevky: 20301
Témy: 79
Bydlisko: Banska Byst...
Príspevok NapísalOffline : 01.10.2009 0:52

sak ked napises windowsmediaplayer1. (s bodkou na konci) tak ti vybehne autocomplete, a tam mas vsetko co vie ta komponenta pouzit a co podporuje.







_________________
Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Patriot Viper 4 Blackout 16GB DDR4-3600 CL17 | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 24" BenQ GW2470H | 3x Noctua NF-S12B redux 1200 PWM
Xiaomi Mi 9 Lite 64GB
Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 29.10.2009 22:27

To ci pesnicka skoncila mozes zistit aj tak, ze komponentu Gauge (popripade ProgressBar) priradis prehravac.Position. To daj co timeru, nech sa ti to obnovuje. Jeho max hodnotu das ako prehravac.Length.

Prosim Vas, ja by som mal tiez otazky co sa tyka prehravacu:
1, Pridal som tlacidlo na "pretacanie" piesne. Avsak potrebujem, aby ked bude tlacidlo stlacene sa vykonalo toto (prehravac.Pause;
posuvanie_t.Enabled:=true;) a ked uvolnim tlacidlo tak toto( posuvanie_t.Enabled:=false;
prehravac.play;). Popripade while cyklus, ze pokym je tlacidlo stlacene aby to nieco vykonavalo. Ale nenasiel som nieco ako buttonpress

2, Mam vytvoreny subor IniFile, kde sa mi uklada playlist. Ten sa nasledne vypisuje do ListBoxu. Avsak potreboval by som, aby sa do ListBoxu vypisal iba nazov penicky. Niekde som cital nieco o ExtractFilePath ale nieviem si predstavit ako to pouzit.

Vopred dakujem :)


Online

Skúsený užívateľ
Skúsený užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 11.01.09
Prihlásený: 16.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOnline : 30.10.2009 11:56

1.) dá sa to napríklad takto: V OnMouseDown tlačidla sa bude vykonávať kód a OnMouseUp sa dá povel na ukončenie vykonávania. Mohlo by to vyzerať nasledovne:
Kód:
var
  start: boolean = false;

(* ... *)

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

start:= true;

while start do begin

// potrebný kód ...

  Application.ProcessMessages;

end;

end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

start:= false;

end;

2.) Názov súboru sa získa pomocou funkcie ExtractFileName, ktorého parameter je celá cesta k súboru (ExtractFilePath extrahuje cestu, teda všetko okrem názvu).


Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 30.10.2009 17:15

1, Toto som vyriesil uz trochu inak ale skusim to aj takto, ci to bude lepsie :)

2, Tu je problem, ze do toho listboxu davam TStringList. Pre lepsiu predstavu, tu mas kod kde s tym pracujem

Kód:
var
pauza: boolean;
prehravac: TMediaPlayer;
skladby: TStringList;
ini:TIniFile;
procedure TForm1.FormCreate(Sender: TObject);
var
    i: Integer;
begin
 ini:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'\nastaveni.ini');
 skladby:= TStringList.Create;
 ini.ReadSection('skladby',skladby);
 for i := 0 to skladby.Count -1 do
  playlist.Items.Add(ini.ReadString('skladby',skladby.Strings[i],''));
 playlist.ItemIndex:=ini.ReadInteger('ostatni','aktualni',0);
 skladby.free;
 ini.free;
 prehravac:=TMediaPlayer.Create(Form1);
 prehravac.Parent:=Form1;
 prehravac.Visible:=false;

end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var ini:TIniFile;
    i: integer;
begin
 prehravac.Free;
 ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\nastaveni.ini');
 ini.EraseSection('skladby');

  for i := 0 to playlist.Items.Count-1 do begin
   ini.WriteString('skladby', IntToStr(i), playlist.Items.Strings[i]);
  end;
  ini.WriteInteger('ostatni','aktualni', playlist.ItemIndex);
  ini.Free;
 end;


procedure TForm1.pridat_soubor_btnClick(Sender: TObject);
begin
opendialog1.execute();
playlist.Items.AddStrings(opendialog1.files);


Online

Skúsený užívateľ
Skúsený užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 11.01.09
Prihlásený: 16.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOnline : 30.10.2009 19:15

Z riadku:
Kód:
ini:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'\nastaveni.ini');

odstráň v +'\nastaveni.ini' lomítko, pretože ExtractFilePath ho už obsahuje (asi to funguje aj takto, keďže si nič nehlásil, ale správny zápis by mal byť tento).

Pridávanie do ListBoxu som našiel iba v tele procedúry OnClick tlačidla pridat_soubor_btn. Takže úprava:
Kód:
if OpenDialog1.Execute then
    playlist.Items.Add( ExtractFileName(OpenDialog1.FileName) );


Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 30.10.2009 23:17

JJ, funguje to :)

Problém nastáva, že keď aj označím viac pesničiek, tak sa mi pridá iba jedna. Multiselect v opendialogu mám povolený - teda každý názov sa mi dáva do úvodzoviek ;-)

Ešte by som sa chcel spýtať - kde sa možem pokračovať učiť v delphi? Pretože väčšinu seriálov som už prešiel a knižku som nenašiel žiadnu.


Online

Skúsený užívateľ
Skúsený užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 11.01.09
Prihlásený: 16.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOnline : 31.10.2009 0:02

Aha, máš MultiSelect, tak v tom prípade to uprav takto:
Kód:
if OpenDialog1.Execute then
  for i:= 0 to (OpenDialog1.Files.Count - 1) do
    Memo1.Lines.Add( ExtractFileName(OpenDialog1.Files[i]) );

Snáď to už je dobre :)

Odkiaľ sa učiť? Myslím, že ak človek ovláda jazyk na pokročilej úrovni, tak úplne stačí niečo vygoogliť a učiť sa. Buď nejaký seriál, alebo nejaké "triky", ktoré sa môžu hodiť. Ak nemáš šajnu, kde začať, na http://www.builder.cz chodievali dosť dobré seriály o čomkoľvek - či už jednoduché vizuálne aplikácie, konvertovanie grafických formátov, hry s využitím DelphiX, práca s portami, databázy, pluginy do winampu, atď. Je z čoho vyberať.


Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 31.10.2009 12:19

Funguje to :) Akurát, playlist sa uloží ale pri druhom spustení vyhodí chybu. (pri inicializaci MCI nastala chyba). Asi bude niekde len drobná chybička, tak to pozriem :) Mohol by si mi, prosím ťa, napísať príkaz, aby miesto Caption buttonu bol nejaký obrázok?:)

Neviem či na pokročilej úrovni. Ovládam cykly, podmienky, vlastné funckie, procedúry, polia, triedy, záznamy (čiže trochu aj OOP) a tu už väščina seriálov končí :) Ale ten builder.cz sa mi pozdáva :)


Offline

Užívateľ
Užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 31.10.2009 23:27

Našiel som problém ten problém. Ide o to, že si nezapamätá cestu k tomu adresáru, čiže pri opätovnom spustení vyhodí chybu (pokiaľ sa pesnička nenachádza v priečinku s Delphi). Napadlo mi, že z opendialogu by sa mohli tie piesne ukladat do toho ini súboru (extractfilepath) a playlist by sa mohol odtiaľ načítavať(extractfilename). Zajtra večer to skúsim tak nejak spraviť, dám vedieť ;)


Online

Skúsený užívateľ
Skúsený užívateľ
Ovládanie WindowsMediaPlayer1 cez activex v delphi

Registrovaný: 11.01.09
Prihlásený: 16.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOnline : 07.11.2009 0:01

Draco píše:
Mohol by si mi, prosím ťa, napísať príkaz, aby miesto Caption buttonu bol nejaký obrázok?

Sorry, až teraz som si všimol tú otázku. Ak chceš mať v buttone obrázok, tak namiesto klasického použi SpeedButton (v záložke Additional). V Object Inspectore vyber položku Glyph a vyhľadaj si obrázok (*.bmp)


Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. ovladanie cez IRda

v TV

6

1182

31.01.2007 15:20

Cmoud Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ovladanie cez USB

v Elektronika

1

1062

15.12.2007 11:06

POM4R4NC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ovládanie obrazoviek cez jeden PC

v Monitory, televízory a projektory

2

530

27.02.2017 12:23

RiJoY285 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovladanie elektroniky cez infraport W200I

v Mobilné zariadenia

5

1035

26.12.2008 16:00

peter seal Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie PC cez wifi siet

v Sieťové a internetové programy

1

1189

09.05.2010 12:25

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ovladanie druheho PC cez internet

v Sieťové a internetové programy

2

1279

19.01.2011 12:05

f4r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie Arduina cez UART z počítača

v Články

0

809

21.11.2020 12:53

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vysokorychlostny prenos obrazu cez vzdialene ovladanie

v Sieťové a internetové programy

3

410

24.01.2014 9:38

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program na ovládanie PC cez smarthpone

v Ostatné programy

4

469

09.07.2015 8:43

Johnnny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie relé cez Arduino s webaplikáciou

v Články

0

1416

10.02.2019 0:23

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESP8266 - Ovládanie hlasom cez Amazon Echo Dot

v Články

3

1225

30.05.2020 23:37

stiv Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delphi zapis cisla do editu v delphi

v Delphi, Visual Basic

3

1105

11.05.2008 12:02

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ActiveX

v Ovládače

3

773

26.06.2010 12:41

Semp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ActiveX

v Sieťové a internetové programy

3

798

27.09.2008 1:35

Tech Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ActiveX objekty

v Ostatné programy

5

857

12.12.2010 0:04

playmaker Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. programovanie ActiveX - prostredie

v Assembler, C, C++, Pascal, Java

2

538

18.07.2010 13:32

mysacek Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra