[ Shadowed @ 29.08.2002. 17:40 ] @
Zna li neko kako mogu da dobijem trajanje nekog mp3 fajla ali da po mogucstvu e bude tako glomazno resenje kao sto je stavljanje media playera na formu pa ucitavanje fajla u njega i dobijanje duzine iz media playera
[ jc denton @ 03.09.2002. 11:11 ] @
Dodaj referencu na Active Movie Control Type Library i poigraj se. Ima mozda i bolju funkcionalnost nego Media Player.
Pogledaj u MSDN-u i Controlling Filter Graphs using Visual Basic ili tako nesto. Tamo je objasnjeno ovo sto ti treba a i vise.

Pozdrav
[ markoub @ 30.09.2002. 10:41 ] @
Sve je to lepo ali ja ne mogu nikako da dobijem duzinu trajanja! Onaj ActiveMovie nece ni da ucita fajl, a MediaPlayer mi vraca vrednost (MediaPlayer1.Duration) tipa Double. Kad ga formatiram (Format$(MediaPlayer1.Duration,"mm:ss")) dobijem netacne podatke!
[ jc denton @ 30.09.2002. 17:23 ] @
ActiveMovie je jedno, a ono sto sam ti ja predlozio je drugo. Nemoj mnogo da nerviras, evo ti resenje ;)

Dim mediacontrol As IMediaControl
Dim pozicija As IMediaPosition
Dim audio As IBasicAudio

Set mediacontrol = New FilgraphManager
mediacontrol.RenderFile ("c:\pesma.mp3")
Set audio = mediacontrol
Set pozicija = mediacontrol

preko pozicija.duration dobices ono sto ti treba.

pozdrav
[ markoub @ 01.10.2002. 12:08 ] @
Izvini, molim te, ali ja opet imam problem! Opet ne mogu da prikazem pravilno pizicija.Duration, zato sto ga dobijem kao (ja mislim) Double tip. Ja pokusam da ga prevedem ali ne znam ni u koji tip ni kako!

Hvala!
[ jc denton @ 01.10.2002. 19:59 ] @
Kog je tipa i nije toliko bitno, a duration vraca sekunde, bar za mp3.
Probaj ovako :

minuti :
pozicija.duration\60

preostale sekunde :
pozicija.duration mod 60

Valjda je sada ok.
[ markoub @ 01.10.2002. 21:53 ] @
Ovo konacno radi! Mnogo ti hvala!
[ markoub @ 02.10.2002. 21:48 ] @
Izvini, ali ovo opet ne radi! Tj. radi ali se cudno ponasa. Kako da prkinem konekciju sa prethodno renderovanim fajlom? On ucitava vrednosti, ali treba svaki put da renderuje drugi fajl. On mi daje za prvih pet-sest fajlova podatke prvog, za drugih prvog iz te liste (npr. od 7-10 daje podatke sedmog), kao da ne uspe da Refreshuje render!
Hvala
[ jc denton @ 03.10.2002. 07:24 ] @
Moras da 'poubijas' objekte pre renderovanja novog fajla :
set pozicija=nothing

i tako redom za sve ostale. Javi sta si uradio.
[ markoub @ 03.10.2002. 10:00 ] @
Onako ne radi, ali si mi dao ideju i ja sam poubijao sve i ponovo im vratio vrednosti:

Set mediacontrol = Nothing
Set mediacontrol = New FilgraphManager
Set pozicija = Nothing
Set audio = Nothing
pa onda renderovao fajl:
mediacontrol.RenderFile (putanj)
i vratio vrednosti:
Set audio = mediacontrol
Set pozicija = mediacontrol
Hvala ti puno!