JavaScriptowy odtwarzacz MP3

19.06.2011 4:14, Autor: Grzegorz Niemirowski (gniemirowski), Kategoria: News
NewsImage

Powstała biblioteka dla języka JavaScript, pozwalająca odtwarzać MP3 na stronach internetowych bez użycia Flasha.

Biblioteka nosi nazwę jsmad i bazuje na bibliotece libmad. Oryginalna biblioteka była napisana w języku C, konieczne więc było jej przetłumaczenie na JavaScript. Wykonano to ręcznie, linia po linii. Bardzo dużo czasu zajęło debuggowanie kodu. Zaletą jsmad jest brak konieczności instalacji Flasha, co np. pozwala obejść problemy występujące na 64-bitowym Linuksie. Inne zalety to szybsze ładowanie się odtwarzacza, większe bezpieczeństwo oraz mniej wycieków pamięci. Z kolei przewagą nad tagiem audio z HTML5 jest większa możliwość miksowania i obrabiania dźwięku.

Demo możliwości biblioteki można obejrzeć, a raczej posłuchać, na stronie jsmad.org. Wymagany jest Firefox w wersji 4 lub wyższej albo Chrome w wersji 13 lub wyższej. W przypadku tej drugiej przeglądarki trzeba włączyć Web Audio API w about:flags.

r   e   k   l   a   m   a

Komentarze (50)  

Avatar
NieukB (niezalogowany) | 19.06.2011 7:34#1

Bardzo dobrze chodzi, tylko zwykły użytkownik i tak użyje tag.

AvatarUżytkownik jest nieaktywny
mleczqo | 19.06.2011 8:42#2

Wszystko pięknie póki wyświetlana jest zakładka z odtwarzaczem. Kiedy przechodzę do innej zakładki a muzyka leci w tle to zaczyna strasznie przyciniać. Też tak macie?

AvatarUżytkownik jest nieaktywny
przemo_li | 19.06.2011 8:46#3

Muzyka w tel może przycinać z powodu złego kodu w jsmad, ale nie koniecznie czegoś trudnego do naprawienia. Za to powinna być opcja pauzowania gdy tylko zmieni się zakładkę.

AvatarUżytkownik jest nieaktywny
M@ster | 19.06.2011 8:47#4

@mleczqo
Nie, u mnie na FF4 wszystko idzie płynnie nawet po zmianie taba.

Avatar
ARMed w/ SSH (niezalogowany) | 19.06.2011 9:13#5

> Wykonano to ręcznie, linia po linii. Bardzo dużo czasu
> zajęło debuggowanie kodu.

Respect!

AvatarUżytkownik jest nieaktywny
JesperKyd | 19.06.2011 9:17#6

U mnie też nie da się słuchać po przejściu do innego taba.

AvatarUżytkownik jest nieaktywny
DiamondBack | 19.06.2011 9:17#7

Chome w wersji 13 funkcja włączona i nie działa :)

Avatar
zielonykzkz (niezalogowany) | 19.06.2011 9:24#8

u mnie też problem po przejściu do innego taba ale mam nightly 7a1

AvatarUżytkownik jest nieaktywny
sunbeam96 | 19.06.2011 9:26#9

U mnie wszystko pięknie chodzi. Dobra robota.

AvatarUżytkownik jest nieaktywny
sunbeam96 | 19.06.2011 9:28#10

Aha, trochę tnie się plik z mojego kompa. A łącze mam dobre.

Avatar
KONTO USUNIĘTE | 19.06.2011 9:49#11

U mnie działa płynnie i bez problemów z Tabem. Żona pyta mnie, co to za koleś na zdjęciu - od razu poprawił się Jej humor :)

Avatar
KONTO USUNIĘTE | 19.06.2011 9:54#12

Sprawdziłem działa, ale... przycina. Trzeba mieć naprawdę dobry sprzęt by odtwarzać to płynnie.

Na moim laptrupie (Celeron M, 448 MB ram, zintegrowana karta graficzna) nie dało się tego słuchać. Obciążenie procesora wynosiło 90-100%.

Więc trochę dużo jak na mp3, szczególnie, że takie obciążenie na moim kompie powoduje film np. na YT o jakości 360.

Coś mi się wydaje, że będziemy za flashem tęsknić. Ma on jednak dużo mniejsze wymagania sprzętowe niż ogólnie rozumiany HTML5.

Ja np. używam kompa to przeglądania netu, oglądania filmów, słuchania muzyki w tle i pracy z edytorem. Do tego komputer o tych parametrach w zupełności wystarczy (no, może filmów HD sobie nie pooglądam;) A jak wprowadzą wszędzie HTML5, to nawet muzy w necie nie posłucham :(

AvatarUżytkownik jest nieaktywny
wszerad | 19.06.2011 10:07#13

Obciążenie 10% na przeciętnym C2D to niezły wynik a przycinanie w tle to wina konfiguracji przeglądarki, domyślnie aby nie marnować zasobów zakładki w tle mają zwiększony interwal więc kod jest wykonywany kilka razy wolniej.

AvatarUżytkownik jest nieaktywny
an.szop | 19.06.2011 10:09#14

Nie wiem jak to działa, nie sprawdzałęm.
Wiem natomisat jedno. Takie rzeczy są niezbyt możliwe i dobre w jezykach skryptowych.

To są niksopoziomowe rzeczy, które potrzebują "mocy" aby działać.
A tu właśnie po komentarzach widać, że nawet tak stara rzecz jak mp3 potrzebuje dużej mocy obliczeniowej aby działać.

Takie rzeczy to tylko C, asembler...


Pozdrawiam

AvatarUżytkownik jest nieaktywny
wszerad | 19.06.2011 10:13#15

Właśnie ale w Firefoxie zacinać będzie w wersjach 4+ bo to nowa zmiana, ciekawie wygląda też sprawa z ramem. Rośnie dość szybko a po jakimś czasie tak jakby się resetuje.

Avatar
Yestno (niezalogowany) | 19.06.2011 10:39#16

@DiamondBack
Chrome v12 a trzeba wtyczki z nowa Java(TM) Platform SE 6 U26
i ustawania about:plugins działa jsmad, Ale nie about:flags :)
Lub reset chrome wystarczy Winxp c:\Documents and Settings\twoim nick\Ustawienia lokalne\Dane aplikacji\Google\Chrome\User Data\ tutaj cały usun potem odpali Chrome.exe wszystko domyślne ;)

AvatarUżytkownik jest nieaktywny
scripter1 | 19.06.2011 11:05#17

U mnie na FF5 działa płynnie ale do czasu kiedy przełączę na inną zakładkę, wtedy zaczyna przycinać.

Mozilla cały czas pracuje nad obniżaniem użycia zasobów przez zakładki będące w tle więc możliwe że jest to przycinanie jest tego efektem ubocznym.

AvatarUżytkownik jest nieaktywny
Shaki81 | 19.06.2011 11:24#18

No fajne, tylko co z innymi przeglądarkami?

AvatarUżytkownik jest nieaktywny
dragonn | 19.06.2011 11:43#19

Fx 7 z nightly, po przejściu do innej karty zaczyna ciąć. Ale sam pomysł popieram, ale jest jeszcze dużo do poprawy.

AvatarUżytkownik jest nieaktywny
eryk.piast | 19.06.2011 11:48#20

A poza tym nie czyta plików ze zmiennym bitrate ;]

AvatarUżytkownik jest nieaktywny
kam104 | 19.06.2011 11:49#21

No i klapa, po przejściu do innej karty, tnie się, że się słuchać nie da...

AvatarUżytkownik jest nieaktywny
Spectator | 19.06.2011 12:01#22

W Minefield 4 działa prawidłowo, w firefox 5 tnie przy przejściu do innej karty.

Według mnie projekt bez sensu i jedynie służy pokazaniu, że..... "że się da" i tyle.

AvatarUżytkownik jest nieaktywny
DonM$ | 19.06.2011 12:25#23

Klapa, ok działa, ale obciąża znacznie cpu i przerywa jak tylko coś innego nawet chwilowo wymagającego więcej cpu od przeglądarki nastąpi.
W dodatku jest chyba wyciek pamięci, bo mi skacze +- 100 mb ramu i tak w kółko.
Raczej to tagowi audio/fl/sl nie zagrozi.

AvatarUżytkownik jest nieaktywny
Sewerin | 19.06.2011 12:29#24

Mi procesora nie obciąża, zarówno Core i3 jak i Sempron'a 3000
Ale fakt faktem że na Firefoxie 4 działa wszystko należycie a na Firefoxie 5 już po przejściu do innej karty się tnie. Zarówno na Linuxie jak i Windowsie.

AvatarUżytkownik jest nieaktywny
matrix012345 | 19.06.2011 13:13#25

@
W html5 do słuchania muzyki przewidziano inną technologię. Tak w zasadzie to co przedstawiono to nie html5 tylko JavaScript (ludzie często wszystkie nowe technologie www uznają za html5). Tnie się dlatego, że jest to kodek uruchomiony na interpreterze który ma ze względów bezpieczeństwa ma ograniczone możliwości komunikacji ze sprzętem (tylko przez api przeglądarki). W html5 lub flash kodek jest kompilowany.

AvatarUżytkownik jest nieaktywny
Olbi | 19.06.2011 13:13#26

Klapa jest, bo odtwarzacz nastawiony tylko na MP3. A co z innymi formatami, jak wma, aac, flac itp? Przecież na mp3 świat się nie kończy, poza tym licencje itp.

AvatarUżytkownik jest nieaktywny
kulmegil | 19.06.2011 13:21#27

Kicha, bo zakładka musi pozostać na wierzchu aby odtwarzał płynnie (Aurora).

AvatarUżytkownik jest nieaktywny
trux | 19.06.2011 13:36#28

Powinni jeszcze trochę nad tym popracować, bo za bardzo obciąża procesor.

Avatar
amigib2 (niezalogowany) | 19.06.2011 14:10#29

nie wiem jaki niby problem na linuksie, przecież jest 64 bitowa wtyczka flash i działa bardzo dobrze

Avatar
nizortos (niezalogowany) | 19.06.2011 14:56#30

heh, a co niby jest złego w odtwarzaczach flashowych?

AvatarUżytkownik jest nieaktywny
aptu | 19.06.2011 15:08#31

Ot taki pokaz, że się da, bo do niczego więcej ten odtwarzacz na razie się nie nadaje. Działa tylko w jednej przeglądarce (Chrome 13 to beta). Działa normalnie tylko gdy otwarta jest zakładka z odtwarzaczem. Obciąża procesor jak film w h264 720p odtwarzany we flashu bez wspomagania gpu. Pomijając te niedoskonałości, które mogą zostać poprawione gdy autorom będzie się chciało rozwijać projekt, to i tak pozostanie on niszowym projektem do specyficznych zastosowań, w który element audio z html5 to za mało.

AvatarUżytkownik jest nieaktywny
TestamenT | 19.06.2011 15:09#32

Mi się nie tnie przy zmianie zakładki i działa dobrze.

AvatarUżytkownik jest nieaktywny
MenageR | 19.06.2011 17:08#33

Ciekawe, czy nadal jest możliwe skopiowanie zbuforowanego pliku z katalogu plików tymczasowych przeglądarki...
Do tej pory odtwarzana piosenka np. na Wrzuta.pl była zapisywana w cache.

Avatar
dav_ubuntu (niezalogowany) | 19.06.2011 17:37#34

no to wreszcie można olać producentow przeglądarek i ich spór o kodeki i znacznik . Fajnie jakby jeszcze powstal taki javascriptowy player video. Napewno bylby bardzo ciężki, ale za rok czy dwa kazdy przeciez bedzie mieć po kilka rdzeni pod maską pc-ta...

AvatarUżytkownik jest nieaktywny
iGomezGT | 19.06.2011 19:07#35

@aptu

Jak tylko na Chrome 13?
Na Firefox 4+ też działa.

Avatar
jsmad_tester (niezalogowany) | 19.06.2011 19:47#36

na fx 5 i 6 trzeba zmodyfikować wpis w about:config by działało płynnie przy zmianie tabów...macie ludzie to opisane

Avatar
Johny Mnemonic (niezalogowany) | 19.06.2011 20:58#37

Jasne,że mp3 potrzebuje mocy,tylko na współczesnych Gigahercowych prockach to nie problem,a w czasach gdy powstał format mp3 był problem.Języki skryptowe działają tak jakby były interpretowane,skompilowany program Java jest w kodzie pośrednim,nie od razu w kodzie procesora głównego,dopiero maszyna wirtualna tłumaczy kod linia po linii,w Assemblerze,C,C++,Pascalu uruchamiacie już skompilowany program dla procesora głównego

Avatar
Johny Mnemonic (niezalogowany) | 19.06.2011 21:00#38

@juzo8
Mylisz html5 z interpretowaną Javą

Avatar
~slepcu (niezalogowany) | 19.06.2011 22:33#39

chrome 14 dev, działa idealnie. fajne cacko :)

AvatarUżytkownik jest nieaktywny
bart86 | 19.06.2011 23:32#40

"Wymagany jest Firefox w wersji 4 lub wyższej albo Chrome w wersji 13 lub wyższej."
jak wy ludzie to czytacie???

AvatarUżytkownik jest nieaktywny
bart86 | 19.06.2011 23:34#41

@nizortos (niezalogowany)
nie wiesz to się nie wypowiadaj tylko ucz a choćby dlatego że wtyczka flasha to jedna wielka dziura przez którą włamują się hakerzy i wirusy

AvatarUżytkownik jest nieaktywny
bart86 | 19.06.2011 23:35#42

@Olbi
kolejny który nie potrafi czytać tam pisze coś o bibliotece tylko do odtwarzania mp3 resztę przeczytaj sam

AvatarUżytkownik jest nieaktywny
WODZU | 20.06.2011 7:57#43

U mnie chodzi płynnie ale obciążenie Core2Duo E6420 na poziomie 60% B-o

Avatar
lucy_in_the_sky (niezalogowany) | 20.06.2011 10:39#44

@dav_ubuntu javascriptowych playerów jest pełno. Zobacz np. na projekt http://videojs.com/ - js + html5. Wygląda bardzo zacnie.
Zerknij też na odtwarzacz muzyczny http://www.yopler.com. Wydaje się jakby miał swój własny js player.

AvatarUżytkownik jest nieaktywny
aptu | 20.06.2011 10:52#45

@iGomezGT
Działa na dwóch przeglądarkach Firefoksie 4 i Chromie 13, ale Chome 13 to jeszcze beta i liczy się tylko Firefoks 4. To miałem na myśli.

@jsmad_tester
Gdzie jest to napisane. Na stronie jsmad.org widzę tylko, że w Aurorze "Works out of the box! Perfect sound.". W mojej Aurorze nie działa perfect prosto z pudełka.

PS. Java != Javascript. Te dwa języki i platformy nie mają ze sobą nic wspólnego.

AvatarUżytkownik jest nieaktywny
aptu | 20.06.2011 11:17#46

Dzisiaj już działa normalnie nawet w zakładce w tle. Ale coś za coś. Wczoraj odtwarzacz ten potrzebował ok. 8-10% procesora, dzisiaj już zabiera 25% i to bez względu czy odtwarza muzykę czy nie, ponad 90% jednego z czterech rdzeni.

AvatarUżytkownik jest nieaktywny
aptu | 20.06.2011 11:29#47

@lucy_in_the_sky
videojs.com to po prostu wykorzystanie tagu video z html5, js jest tam tylko do kontrolowania odtwarzania (play, pause, przewijanie, głośność). http://www.yopler.com wygląda na jakąś nakładkę na youtube.

AvatarUżytkownik jest nieaktywny
bart86 | 20.06.2011 12:15#48

@lucy_in_the_sky (niezalogowany)
a gdzie tu coś pisze o javascript? news jest o bibliotece do odtwarzania mp3 w javie

AvatarUżytkownik jest nieaktywny
aptu | 20.06.2011 12:22#49

@bart86
"news jest o bibliotece do odtwarzania mp3 w javie"

Javascripcie nie Javie. Proszę tego nie mylić.

AvatarUżytkownik jest nieaktywny
mr_iks | 20.06.2011 16:17#50

Wszystko fajnie, ale mi na Firefox 5 przeglądarka zawiesza się i zużycie procesora jest na poziomie 100%, a dźwięku nie ma...

Dodaj komentarz

Zasady publikowania komentarzy
Autor
Treść
 
Polecamy
Test Sharp AQUOS SH80F

Warto (byłoby) się szarpnąć
Recenzja MSI WindTop AE2410

Powiew świeżości?
Recenzja nowego iPada

Rewolucja czy stagnacja?
Top programy
  •  
Top programy ostatnie 7 dni
  •  
Top programy ostatnie 30 dni
  •  
Skanery antywirusowe
skaner av