Gif animat cu sunet

- Alexander Trevor (Alexander Trevor),
Lider de echipă pentru crearea GIF în CompuServe

Primul pe Internet este un hypha cu un sunet prin referință. Este necesar să apăsați butonul albastru, apoi pe hifa. Playerul ar trebui să funcționeze în toate browserele moderne (testate în cele mai recente Firefox și Chrome).

Gyfok sub tăiere nu va, dar va exista un proces de creare a unei extensii pentru standard, scrierea unui convertor și a unui jucător.

Din 1987, formatul GIF a înregistrat doar două modificări semnificative:

  1. În 89, a fost lansată a doua versiune a formatului (numită GIF 89a). A devenit posibilă specificarea întârzierii dintre imagini (mai multe imagini într-un fișier au fost în primul format GIF 87a). Dezvoltatorii de la terți au putut acum să adauge propriile blocuri în fișierul (Application Extension Block).
  2. În 1990, Netscape și-a adăugat propriul bloc, care a permis să se precizeze de câte ori va fi repetată animația.

Dezvoltarea unei extensii de format

După cum sa menționat mai sus, standardul GIF 89a permite aplicațiilor să își plaseze datele într-un fișier GIF. Formatul blocului de extensie pentru aplicații:

Formatul de date (pentru fișierele WAVE - "WAVE")

Deoarece dimensiunea blocului este controlată de formatul GIF, vom alimenta câmpul cu mărimea datelor din antet și vom scrie "RIFFWAVE" în identificatorul aplicației. Restul fișierului WAVE este scris ca blocuri GIF imbricate.

Blocul cu sunet va fi introdus chiar înaintea primului bloc cu imaginea (de fapt, îl puteți introduce oriunde).

Dezvoltarea convertorului

Convertorul de pe intrare acceptă fișierele GIF și WAVE și scoate un GIF cu un bloc RIFFWAVE. Puteți vedea codul sursă pentru codul Google.

Codul este destul de simplu, citiți fișierul WAVE, creați un bloc GIF din acesta. Apoi citim fișierul hyph și notăm toate blocurile, de îndată ce găsim primul bloc cu imaginea, înainte de a introduce blocul cu sunetul. Cea mai importantă parte a codului este conversia unui fișier WAVE într-un bloc GIF:

Faceți un hypha cu sunet

Facem un hypha animat:

Avem un sunet și verificăm că totul arată (și sună), așa cum am planificat:

Conversia la GIF cu sunet

Faceți jucătorul

  • conversia datelor din bloc înapoi în formatul de fișier WAVE;
  • convertiți fișierul rezultat în date: URL și treceți-l la elementul Audio.

jsgif nu funcționează rapid, dar cu adăugarea de sunet a devenit chiar mai lent. De asemenea, pentru a obține datele din fișier, player-ul solicită XMLHttpRequest, astfel încât playerul funcționează numai cu imagini dintr-un domeniu. Dar aceasta este o piedică pentru artă?

Ce urmează?

Să fii fericit cu hyphas cu sunet. Puteți implementa un plug-in pentru browsere care vă va permite să jucați astfel de hyphs fără XMLHttpRequest suplimentar și care va funcționa probabil mai repede. Dacă cineva a întâmpinat o sarcină similară, aș fi recunoscător pentru direcția în care direcția ar trebui să se uite pentru a scrie un plugin care gestionează anumite tipuri de fișiere.

Articole similare