|
| 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
| |
|
|