/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ID3 version
Fra : Mikkel Jakobsen


Dato : 04-10-07 18:30

Hey Ng..

Jeg er ved at lege lidt med ID3 og *.mp3 filer
jeg har kigget lidt på www.php.net/id3

Men jeg kan ikke helt forstå id3_get_version

Når jeg prøver at hente id3 version af en fil får jeg bare et
tal.(sikkert ok forstår det bare ikke)

$version = id3_get_version( "01.mp3" );
version bliver så '31',

- Men hvad svare dette 31 til ?? og
- Hvordan bliver koden til: 'Contains a 1.x tag, Contains a 1.1
tag'??



Kode:
if ($version & ID3_V1_0) {
echo "Contains a 1.x tag<br>";
}
if ($version & ID3_V1_1) {
echo "Contains a 1.1 tag<br>";
}
if ($version & ID3_V2) {
echo "Contains a 2.x tag<br>";
}

Mikkel


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Peter Brodersen (04-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 04-10-07 18:45

On 04 Oct 2007 17:29:54 GMT, Mikkel Jakobsen <spam@bonzai.adsl.dk>
wrote:

>$version = id3_get_version( "01.mp3" );
>version bliver så '31',
>
>- Men hvad svare dette 31 til ?? og
>- Hvordan bliver koden til: 'Contains a 1.x tag, Contains a 1.1
>tag'??

Tjek hele http://dk.php.net/manual/en/function.id3-get-version.php for
information om returværdien:

==
Return Values

Returns the version number of the ID3 tag of the file. As a tag can
contain ID3 v1.x and v2.x tags, the return value of this function
should be bitwise compared with the predefined constants ID3_V1_0,
ID3_V1_1 and ID3_V2.
==

Eksemplet på siden giver også noget kode, du kan bruge.
--
- Peter Brodersen
Kendt fra Internet

Mikkel Jakobsen (04-10-2007)
Kommentar
Fra : Mikkel Jakobsen


Dato : 04-10-07 19:02


> >$version = id3_get_version( "01.mp3" );
> >version bliver så '31',
> >


> >- Men hvad svare dette '31' til ?? og
> >- Hvordan bliver koden til: 'Contains a 1.x tag, Contains a 1.1
> >tag'??
>


> Tjek hele http://dk.php.net/manual/en/function.id3-get-version.php for
> information om returværdien:
>
> ==
> Return Values
>
> Returns the version number of the ID3 tag of the file. As a tag can
> contain ID3 v1.x and v2.x tags, the return value of this function
> should be bitwise compared with the predefined constants ID3_V1_0,
> ID3_V1_1 and ID3_V2.
> ==
>
> Eksemplet på siden giver også noget kode, du kan bruge.


Denne beskrivelse har jeg læst flere gange, men forstår den stadig ikke.

og det beskriver stadig ikke hvordan '31' bliver til id3_version




--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (04-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 04-10-07 19:25

On 04 Oct 2007 18:01:48 GMT, Mikkel Jakobsen <spam@bonzai.adsl.dk>
wrote:

>Denne beskrivelse har jeg læst flere gange, men forstår den stadig ikke.
>
>og det beskriver stadig ikke hvordan '31' bliver til id3_version

mp3-filer kan indeholde flere tags uafhængigt af hinanden, fx både en
V1-tag og en V2-tag. Derfor får du ikke noget entydigt svar tilbage,
idet der kan være flere tags.

Det resultat, du får tilbage (31) er et bitvist resultat. Hvis du
sammenligner det med forskellige konstanter (ID3_V1_0, ID3_V1_1 og
ID3_V2) kan du finde ud af, om hvilke af de tags, den indeholder.

Prøv at tage eksemplet helt for sig selv og rette filnavnet til, til
en mp3-fil, du har liggende, og se om den virker.

--
- Peter Brodersen
Kendt fra Internet

Mikkel Jakobsen (04-10-2007)
Kommentar
Fra : Mikkel Jakobsen


Dato : 04-10-07 19:41

Ok, det gav lidt mening... Tak.

Har prøvet med dette, det virker fint.


<?php
$mp3_fil = "03.mp3";

$version = id3_get_version($mp3_fil);

if ($version == '1')   {$version_id3 = ID3_V1_0;}
if ($version == '3')   {$version_id3 = ID3_V1_1;}
if ($version == '4')   {$version_id3 = ID3_V2_1;}
if ($version == '31')   {$version_id3 = ID3_V1_1;}

print"version_id3 = $version_id3";

$tag = id3_get_tag($mp3_fil,$version_id3);
print_r($tag);

Men jeg kan ikke finde ud af hvorfor der ikke må være ' " ' om ID3_VXXXX
har prøvet men så virker det ikke???

Mikkel


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (04-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 04-10-07 20:14

On 04 Oct 2007 18:41:16 GMT, Mikkel Jakobsen <spam@bonzai.adsl.dk>
wrote:

>Men jeg kan ikke finde ud af hvorfor der ikke må være ' " ' om ID3_VXXXX
>har prøvet men så virker det ikke???

ID3_V2 er en konstant. Tekst-strengen refererer blot til et tal. Hvis
du fx skriver:
   print ID3_V2;
... vil du også få et tal som output.

Dette tal tjekkes der binært op imod, når du bruger &. & er en bitvis
operator:
http://php.net/manual/en/language.operators.bitwise.php
(kræver måske, at man kender til bitvis flag i forvejen)

Men fordi tallene kun bruges "internt", giver det mening at referere
til den ved dette navn.

Man bruger fx også konstanter til at sætte fejl-rapportering (E_ERROR,
E_WARNING, m.m.). Her kan du se, hvordan de bliver brugt:
http://dk2.php.net/manual/en/function.error-reporting.php

Det er simpelthen slet og ret lettere at benytte sig af de
konstant-navne, i stedet for at skulle kende til de "magiske" numre,
der ligger inde bagved navnene.

--
- Peter Brodersen
Kendt fra Internet

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste