|
| php audio player - ogg og openal? Fra : Thomas Jensen |
Dato : 24-11-10 09:32 |
|
Jeg vil gerne kunne spille noget musik på min blog, og tjekkede derfor
mulighederne - html, applets, etc. Jeg opdagede at php har nogle
muligheder med ogg/vorbis og openal - er der nogen her der erfaring med
det?
Jeg har prøvet at søge på nettet for at se om jeg kunne finde noget der
allerede var lavet, men jeg er ikke faldet over noget interessant. Er der
nogen af jer der kender til noget der er nemt at gå til? Evt. en tutorial?
--
Thomas Jensen
| |
scootergrisen (24-11-2010)
| Kommentar Fra : scootergrisen |
Dato : 24-11-10 16:55 |
|
Brug det nye <audio> tag i HTML 5.
<audio src="horse.ogg" controls="controls">
Tekst hvis browser ikke understøttet audio tagget
</audio>
| |
Chano Andersen (24-11-2010)
| Kommentar Fra : Chano Andersen |
Dato : 24-11-10 19:53 |
|
Den 24-11-2010 16:55, scootergrisen skrev:
> Brug det nye <audio> tag i HTML 5.
> <audio src="horse.ogg" controls="controls">
> Tekst hvis browser ikke understøttet audio tagget
> </audio>
Hvor mange browsere (Og hvilke) understøtter reelt dette?
- Chano Andersen
| |
Rune Jensen (24-11-2010)
| Kommentar Fra : Rune Jensen |
Dato : 24-11-10 17:52 |
|
On 24 Nov., 19:53, Chano Andersen <sunsite092...@chanoandersen.dk>
wrote:
> Den 24-11-2010 16:55, scootergrisen skrev:
>
> > Brug det nye <audio> tag i HTML 5.
> > <audio src="horse.ogg" controls="controls">
> > Tekst hvis browser ikke understøttet audio tagget
> > </audio>
>
> Hvor mange browsere (Og hvilke) understøtter reelt dette?
http://findmebyip.com/litmus
Vær dog opmærksom på, at understøttelse af tagget ikke er det eneste,
der skal også understøttes det codec, man bruger. Safari kører SVJV
med Quicktime, andre med OGG osv.
Hvad man kunne gøre var at lave en test for <audio>, en test derefter
for OGG, og hvis den fejler, så gå ti Flash som backup.
Tror ikke der er nogen let løsning til lyd på hjemmesiider lige pt.
Standarden, som henvises til med <audio> er berammet til 2021, og selv
om den nok bliver implementeret før, er der ingen af
browserproducenterne, som er forpligtigtet til det før til den tid.
Det er iøvrig samme problem med <video>, at det ikke er tagget, men
codecet, man ikke kan enes om.
Fordelen ved <audio> er dog indlysende når det engang virker fuldt, i
og med man kan få lyd ligeså let som billeder på sin side, og uden
brugeren skal downloade noget ekstra (ikke Flash og heller ikke
codecs).
MVH
Rune Jensen
| |
Chano Andersen (25-11-2010)
| Kommentar Fra : Chano Andersen |
Dato : 25-11-10 19:41 |
|
Den 25-11-2010 01:51, Rune Jensen skrev:
> On 24 Nov., 19:53, Chano Andersen<sunsite092...@chanoandersen.dk>
> wrote:
>>
>> Hvor mange browsere (Og hvilke) understøtter reelt dette?
>
> http://findmebyip.com/litmus
>
> Vær dog opmærksom på, at understøttelse af tagget ikke er det eneste,
> der skal også understøttes det codec, man bruger. Safari kører SVJV
> med Quicktime, andre med OGG osv.
Med andre ord, før IE9 er mere udbredt skal man holde sig fra det. Rart
at vide. ;)
- Chano Andersen
| |
Rune Jensen (25-11-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-11-10 05:02 |
|
On 25 Nov., 11:34, Thomas Jensen <lianergo...@tj-software.dk> wrote:
> On Wed, 24 Nov 2010 16:55:09 +0100, scootergrisen wrote:
> > Brug det nye <audio> tag i HTML 5.
>
> Okay, jeg havde ikke lige forventet at få en html-løsning på et php-
> spørgsmål...
>
> Ja, det er et godt spørgsmål hvilke browsere der understøtter hvad, og
> det nemmeste er vel egentlig at bruge mp3 - det kan alle vel afspille på
> en eller anden måde.
Nej... der er mere end én browser, som ikke understøtter MP3 native
(fra start uden plugins osv.). Følg det link, jeg gav og kig under
codecs. Artiklen/statistikken bør faktisk passe - der findes en
tilsvarende statistik som er brugerdrevet, kan bare ikke hske URLen.
Men anyways, alternativet er, man selv tester samtlige browsere...
> Jeg tænkte bare at det måske var en smartere løsning
> at lave en php-player, så man slap for de der evindelige fallback-
> løsninger.
PHP er serverside, fallbackløsningen sker clientside, fordi det er
klienten, ikke serveren, som har problemet. Eller mao. man kan ikke
fejlrette serverside for en fejl eller mangel på klienten (idt.
browseren).
Man kan agere på user agent (dvs. hvad browseren fortæller serveren,
den hedder), og servere indholdet fra serveren efter om user agent er
f.eks. Internet Exporer eller webkit, men det er også det eneste... og
ikke særligt smart iøvrigt, langtfra 100% effektivt da browserens navn
ikke er den eneste faktor.
Tjek for understøttelse skal ske clientside (i selve browseren) - EMM,
netop fordi det er klienten som har probemet.
, og ikke særligt smart iøvrigt, langtfra 100% effektivt da browserens
navn ikke er den eneste faktor.
> Der er bare lige det, at jeg aldrig skrevet noget i php, så jeg er en
> lille smule tilbageholdende med at forsøge med at skrive en player fra
> bunden selv - det kan nemt blive et større project end planlagt - så hvis
> der var nogen af jer her der ved noget om noget, så ville det være en
> stor hjælp.
Har du et link til en sådan "player", en artikel om det eller lign.,
du må have set det elller læst om det et sted... og jeg er ret
nysgerrig ;) For jeg kan stadig ikke se, hvordan man serverside kan
ændre noget hos klienten.
Serverside og clientside er to vidt forskellige ting, sker to
forskelige steder. Du kan ikke gøre noget serverside, så det ikke
kræver download af enten Flash, codec eller andet fra brugeren - som
tingene er lige nu.
Jeg er selvfølgelig *meget* interesseret i at blive modbevist i
ovenstående, det er kun den viden jeg selv har, og den kan være
uddateret ;) Lyd er et interessant emne også for mig.
MVH
Rune Jensen
| |
Rune Jensen (25-11-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-11-10 06:50 |
|
On 25 Nov., 14:13, Thomas Jensen <lianergo...@tj-software.dk> wrote:
> Det skal så siges at det ikke umiddelbart virker for mig.
>
> http://www.tj-software.dk/music/m.php
>
> - men det er nok fordi openal ikke er installeret på gigahost.dk, som er
> mit webhotel.
Jeg kan ikke se, hvad fejlen er, men det lader til at være noget
serverside-problem. Det ændrer så ikke på, at selve funktionen med at
afspille i brugerens browser, det problem skal klares client side, i
selve browseren. Og man kan ikke lave det, så ingen brugere vil behøve
downloads af et eller andet.
Der er mange muligheder (i teorien) for at lave sådanne løsninger, via
blanding af både JAVA, Flash og HTML5 <audio> samt javascript. Her er
en anden, som desværre kræver JQuery. Hvis du bruger det framework i
forvejen, vil jeg da anbefale den løsning, hvis ikke, nåhja, kan du jo
skippe den..
http://www.happyworm.com/jquery/jplayer/
MVH
Rune Jensen
| |
se_her@runejensen.dk (25-11-2010)
| Kommentar Fra : se_her@runejensen.dk |
Dato : 25-11-10 18:33 |
|
On 25 Nov., 19:40, Chano Andersen <sunsite092...@chanoandersen.dk>
wrote:
> Den 25-11-2010 01:51, Rune Jensen skrev:
>
> > On 24 Nov., 19:53, Chano Andersen<sunsite092...@chanoandersen.dk>
> > wrote:
>
> >> Hvor mange browsere (Og hvilke) understøtter reelt dette?
>
> > http://findmebyip.com/litmus
>
> > Vær dog opmærksom på, at understøttelse af tagget ikke er det eneste,
> > der skal også understøttes det codec, man bruger. Safari kører SVJV
> > med Quicktime, andre med OGG osv.
>
> Med andre ord, før IE9 er mere udbredt skal man holde sig fra det. Rart
> at vide. ;)
Nej - det er din konklusion, ikke nødvendigvis den rigtige for alle.
Som eksempel; Hjemmesider bliver også set på mobil - her ser det helt
anderleddes ud. Ingen IE, ingen Flash. Læg her mærke til, visning på
mobil er ved at overhale visning på alm. computer...
Jeg synes, du skal nøjes med at konkludere udfra dine egne behov, og
ikke på alles vejne.
MVH
Rune Jensen
| |
Chano Andersen (28-11-2010)
| Kommentar Fra : Chano Andersen |
Dato : 28-11-10 20:00 |
|
Den 26-11-2010 02:32, se_her@runejensen.dk skrev:
> On 25 Nov., 19:40, Chano Andersen<sunsite092...@chanoandersen.dk>
> wrote:
>> Med andre ord, før IE9 er mere udbredt skal man holde sig fra det. Rart
>> at vide. ;)
>
> Nej - det er din konklusion, ikke nødvendigvis den rigtige for alle.
> Som eksempel; Hjemmesider bliver også set på mobil - her ser det helt
> anderleddes ud. Ingen IE, ingen Flash. Læg her mærke til, visning på
> mobil er ved at overhale visning på alm. computer...
Diskussionen gik vist mest på at det blev brugt på computeren, ikke på
en mobil. Mobilplatformen er en helt anden størrelse, med helt andre
muligheder, end man ser det på computeren.
Hvis man har computer brugere som den primære målgruppe, så har IE altså
stadig en ikke ubetydelig markedsandel, og man er derfor nødt til enten
at bruge en masse krumspring (Som du beskriver i senere indlæg), eller
gå efter laveste fællesnævner (Her IE)
- Chano Andersen
| |
se_her@runejensen.dk (26-11-2010)
| Kommentar Fra : se_her@runejensen.dk |
Dato : 26-11-10 01:09 |
|
On 26 Nov., 02:32, se_...@runejensen.dk wrote:
> Jeg synes, du skal nøjes med at konkludere udfra dine egne behov, og
> ikke på alles vejne.
Hmm... OK, ikke ment på den måde, men det er lidt underligt, folk
bliver ved med at tro, at det udelukkende er IE, som sætter den næste
grænse. De har selvfølgelig noget at sige, men ikke *kun* IE. MS har
trods alt sovet i otte år, og noget er set i mellemtiden...
Der er to platforme at tage hensyn til nu, og på de mobile markeder,
kan jeg slet ikke få øje på MS. De har et eller andet, de kalder
windows mobile, men hvor meget markedandel har den reelt? Eller MS i
det hele taget?
Flere sider om cross browser lyd anbefaler iøvrigt, man vælger sin
platform inden man finder sin løsning... akja, så meget for en
universel løsning. Og det er kun lyd. Det er meget værre med video.
Her er lidt af det, jeg sådan kunne finde:
Apple er nærmest enerådende på mobilmarkedet, og deres iProdukter
understøtter ikke Flash, hvorfor man skal have noget andet også. De er
fortalere for HTML5, så det kan man godt bruge - forudsat, man bruger
det korrekte codec, som sjovt nok ikke er de samme som f.eks. Mozilla
og Opera.
Microsoft Internet Explorer understøtter ikke <audio>, men de
understøtter så Flash/Silverlight, så her kan man kombinere, og
heldigvis (i dette tilfælde) understøttes de samme codecs, som Apple
gør. Det fine ved <audio> er, at når IE ikke forstår tagget, springes
det over. Så man kan altså godt bruge det, det bliver bare ikke
udført.
Open source og Opera. De understøtter grundlæggende alt, som ikke er
patenteret, f.eks. OGG - som ikke understøttes af Apple og MS.
Så hvad gør man for at få en fuldstændigt cross browser løsning? Man
kan putte et <object> tag inden i et <audio> tag, laver noget JS, som
tjekker for hvilke formater, som understøttes med en backup til Flash-
filen, og evt. lave sine lydfiler i minimum ACC og OGG... Så får man
ca. 20 linjers kode for indsættelse af én audio-fil, men så burde det
også virke.
Flere javascript libraries f.eks. plugin til JQuery, som jeg har
nævnt, bruger dette med HTML 5 <audio> og så Flash som backup i en
eller anden form. Og det er også, hvad jeg ville gå efter sådant et
færdigt script, her ville jeg ikke have tålmodighed til at kode det
hele selv... for ikke at sige teste det i samtlige browsere...
Problemet er faktisk Apple ligeså meget som det er Microsoft. Og så er
det open source vs. closed source og et spørgsmål om patenter og
lydkvalitet, fordi f.eks. Mozilla ikke har råd til at betale royalties
for brugen af ACC. ACC er et bedre format end OGG, så klart at Apple
og Microsoft vil foretrække ACC fremfor OGG.
Googles Chrome er iøvrigt tilsyneladende den mindst problematiske, den
supporterer alt uden undtagelse. Flash er indbygget i browseren, og
det er alle codecs også, og den forstår HTML5. Og så bliver den
autoopdateret hos brugeren, så ældre versioner er nærmest uden
betydning. Men Google har selvf'lgelig også hændere helt andre steder
end Apple, Microsoft og Mozilla... Kald det held eller genialitet...
Som sagt, jeg ville gå efter et færdigt cross browser script og ikke
kode det selv overhovedet. Om der skal bruges <audio> eller ej, må
være op til scriptet, som igen må baseres på, hvem man vil nå. ...det
er kun min mening, altså ;)
MVH
Rune Jensen
| |
Kim Ludvigsen (26-11-2010)
| Kommentar Fra : Kim Ludvigsen |
Dato : 26-11-10 09:22 |
|
se_her@runejensen.dk skrev:
> Så hvad gør man for at få en fuldstændigt cross browser løsning? Man
> kan putte et<object> tag inden i et<audio> tag, laver noget JS, som
> tjekker for hvilke formater, som understøttes med en backup til Flash-
> filen, og evt. lave sine lydfiler i minimum ACC og OGG...
Jeg tror ikke, det er så svært igen, og det er i hvert fald
ikke nødvendigt at bruge JavaScript. Både <audio> og
<object> har fallback, så det er bare at lave koder til
forskellige formater/platforme. Det burde virke fint med
noget i nedenstående stil (jeg har dog ikke tjekket det):
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"
width="250" height="45" id="minmp3">
<param name="URL" value="filnavn.mp3">
<object data="filnavn.mp3" type="audio/mpeg" width="250"
height="16">
<object data="filnavn.swf"
type="application/x-shockwave-flash" width="400" height="300">
Lydfilen kan desværre ikke afspilles på dit system
</object>
</object>
</object>
</audio>
--
Mvh. Kim Ludvigsen
Lær noget nyt om danske ord og ordsprog.
http://ordforklaring.dk
| |
se_her@runejensen.dk (26-11-2010)
| Kommentar Fra : se_her@runejensen.dk |
Dato : 26-11-10 02:32 |
|
On 26 Nov., 09:21, Kim Ludvigsen <use...@kimludvigsen.dk> wrote:
> Jeg tror ikke, det er s sv rt igen, og det er i hvert fald
> ikke n dvendigt at bruge JavaScript.
Javascript kan jo bruges til meget. F.eks. kan man bruge det til at
indsætte en <audio>, hvis denne understøttes, samt korrekt codec, hvis
det understøttes - sådan man stadig kan have valid HTML-kode. For
<audio> validerer jo ikke endnu. Man kan også bruge JS til at udligne
de bugs, som findes i browsernes forståelse af HTML5 - der er et par
stykker SVJV, bl.a. i webkit.
Den sidste er, at hvis man har mange lydfiler, f.eks. hvis man sælger
CDer, og skal liste en hel CD med lydfiler, så vil en JS-attachment
kunne være en fordel. Man indlægger hele din kode i én JS-function,
som man lægger ud automatisk på hvert link til en lydfil via event-
handler.
Men ellers har du ret, vil jeg tro. Jeg har ikke testet din kode, men
det ser da rigtigt nok ud.
MVH
Rune Jensen
| |
se_her@runejensen.dk (26-11-2010)
| Kommentar Fra : se_her@runejensen.dk |
Dato : 26-11-10 03:06 |
|
On 26 Nov., 10:32, se_...@runejensen.dk wrote:
> Men ellers har du ret, vil jeg tro. Jeg har ikke testet din kode, men
> det ser da rigtigt nok ud.
Kan man ikke bruge Flash til at afspille lydfilen, for så kan jeg da
se formålet med Flash i det hele taget.
Man vælger lydformatet ACC, som er Apples, og hvis det ikke
understøttes, træder Flashen til, og afspiller filen igennem den.
MVH
Rune Jensen
| |
Thomas Jensen (25-11-2010)
| Kommentar Fra : Thomas Jensen |
Dato : 25-11-10 11:35 |
|
On Wed, 24 Nov 2010 16:55:09 +0100, scootergrisen wrote:
> Brug det nye <audio> tag i HTML 5.
Okay, jeg havde ikke lige forventet at få en html-løsning på et php-
spørgsmål...
Ja, det er et godt spørgsmål hvilke browsere der understøtter hvad, og
det nemmeste er vel egentlig at bruge mp3 - det kan alle vel afspille på
en eller anden måde. Jeg tænkte bare at det måske var en smartere løsning
at lave en php-player, så man slap for de der evindelige fallback-
løsninger.
Der er bare lige det, at jeg aldrig skrevet noget i php, så jeg er en
lille smule tilbageholdende med at forsøge med at skrive en player fra
bunden selv - det kan nemt blive et større project end planlagt - så hvis
der var nogen af jer her der ved noget om noget, så ville det være en
stor hjælp.
--
Thomas Jensen
| |
Birger Sørensen (25-11-2010)
| Kommentar Fra : Birger Sørensen |
Dato : 25-11-10 13:13 |
|
Thomas Jensen kom med følgende:
> On Wed, 24 Nov 2010 16:55:09 +0100, scootergrisen wrote:
>
>> Brug det nye <audio> tag i HTML 5.
>
> Okay, jeg havde ikke lige forventet at få en html-løsning på et php-
> spørgsmål...
>
> Ja, det er et godt spørgsmål hvilke browsere der understøtter hvad, og
> det nemmeste er vel egentlig at bruge mp3 - det kan alle vel afspille på
> en eller anden måde. Jeg tænkte bare at det måske var en smartere løsning
> at lave en php-player, så man slap for de der evindelige fallback-
> løsninger.
>
> Der er bare lige det, at jeg aldrig skrevet noget i php, så jeg er en
> lille smule tilbageholdende med at forsøge med at skrive en player fra
> bunden selv - det kan nemt blive et større project end planlagt - så hvis
> der var nogen af jer her der ved noget om noget, så ville det være en
> stor hjælp.
Her misforstår jeg måske, men ...
PHP afvikles på serveren, og ikke på den besøgendes maskine.
Det er da muligt, at teknikeren der passer serveren, vil være glad for
lidt underholdning - men præcis som de besøgende, kan man godt
forestille sig, at han - eller hun - gerne vil vælge selv.
Uden overhovedet at have beskæftigt mig med emnet, er der da sikkert
mulighed for at bruge PHP til formålet - men resultatet er nødt til at
være enten HTML eller en eller anden form for plugin eller aplet til
den aktuelle browser, hvis den skal kunne forstå det.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Chano Andersen (25-11-2010)
| Kommentar Fra : Chano Andersen |
Dato : 25-11-10 19:51 |
|
Den 25-11-2010 13:12, Birger Sørensen skrev:
> Det er da muligt, at teknikeren der passer serveren, vil være glad for
> lidt underholdning - men præcis som de besøgende, kan man godt
> forestille sig, at han - eller hun - gerne vil vælge selv.
Der er faktisk sjældent lydkort i servere med mindre, naturligvis, at de
bruges til f.eks. radio afvikling, eller lignende der kræver at de kan
spille lyd. ;)
- Chano Andersen
| |
Thomas Jensen (25-11-2010)
| Kommentar Fra : Thomas Jensen |
Dato : 25-11-10 14:14 |
|
On Thu, 25 Nov 2010 12:44:34 +0100, Mikael Schøler wrote:
> http://www.daniweb.com/forums/thread175385.html
Jo, jeg kan godt se pointen. Jeg har ikke tænkt specielt meget over
hvordan det fungerer - men jeg har set det her:
http://www.php.net/manual/en/ref.openal.php
- og yes, php er serverside, men mon ikke det er meningen lyden skal
afspilles på clientens computer? Ellers kan jeg ikke lige gennemskue
formålet...
og længere ned på siden er der faktisk et eksempel på hvordan man bruger
det:
http://www.php.net/manual/en/ref.openal.php#68309
- og hvis jeg havde set det lidt før, så havde jeg nok ikke spurgt her i
gruppen, men bare givet mig i kast med at prøve at skrive noget selv.
Det skal så siges at det ikke umiddelbart virker for mig.
http://www.tj-software.dk/music/m.php
- men det er nok fordi openal ikke er installeret på gigahost.dk, som er
mit webhotel.
--
Thomas Jensen
| |
Thomas Jensen (25-11-2010)
| Kommentar Fra : Thomas Jensen |
Dato : 25-11-10 16:01 |
|
On Thu, 25 Nov 2010 05:49:51 -0800, Rune Jensen wrote:
> Det ændrer så ikke på, at selve funktionen med at
> afspille i brugerens browser, det problem skal klares client side, i
> selve browseren. Og man kan ikke lave det, så ingen brugere vil behøve
> downloads af et eller andet.
>
Dvs det eksempel der er her:
http://www.php.net/manual/en/ref.openal.php#68309
- det vil ikke afspille lyd på alle clienters maskine?
Jeg skal gerne indrømme, at jeg ikke forstår hvordan det foregår.
======
resource openal_device_open ([ string $device_desc ] )
Open an audio device optionally specified by device_desc. If
device_desc is not specified the first available audio device will be
used.
======
Betyder det du siger, at det er "available audio device" på serveren der
vil blive brugt? Det synes jeg ikke lyder sandsynligt...
> http://www.happyworm.com/jquery/jplayer/
>
Hmm.. Der er vist noget jquery i mit blog-software. Jeg vil lige kigge på
det.
--
Thomas Jensen
| |
Thomas Jensen (25-11-2010)
| Kommentar Fra : Thomas Jensen |
Dato : 25-11-10 16:05 |
|
On Thu, 25 Nov 2010 15:00:53 +0000, Thomas Jensen wrote:
> Betyder det du siger, at det er "available audio device" på serveren der
> vil blive brugt? Det synes jeg ikke lyder sandsynligt...
>
Okay, hurtig rettelse; jo, på sin vis er det sandsynligt - hvordan skulle
serveren kunne se hvilke audio devices der er på clienteens maskine? Men
omvendt, hvad skal man med en funktion der åbner en audio device på
serveren?
--
Thomas Jensen
| |
Thomas Jensen (26-11-2010)
| Kommentar Fra : Thomas Jensen |
Dato : 26-11-10 11:44 |
|
On Thu, 25 Nov 2010 19:47:25 +0100, Chano Andersen wrote:
>
> PHP koden afvikles KUN på serveren, den har ikke mulighed for at sende
> andet end datastrømme til klienten. Disse strømme kan være lyd,
Ja, okay. Det lader til jeg skal kigge i andre retninger. Back to good
ol' html...
--
Thomas Jensen
| |
|
|