.IL LINGUAGGIO             Visual Basic.net
.IL .NET FRAMEWORK
.IL PROGRAMMA NEI DETTAGLI:

player                                  browser

.LINK

     PRESENTAZIONE

Il nostro programma si ispira ad altri programmi all-in-one come WinAmp, RealOnePlayer,Windows Media Player. L'obiettivo di questo programma e' quello di riuscire a riprodurre file multimediali e quello di riuscire a navigare siti web.

QUALCHE ACCENNO SUI FILE MULTIMEDIALI SUPPORTATI DAL  PLAYER

FILE MP3

L' MPEG 1 Layer III (MP3) è uno standard per la codifica e la decodifica dell'audio digitale realizzato dal Moving Picture expert group (MPEG).  Il successo di questo formato è dovuto essenzialmente all'ottimo rapporto di compressione unito ad una qualità audio molto elevata.  Infatti un brano prelevato da un CD audio occupa circa 10Mb (stereo, 16bit, 44.100 Hz) per ogni minuto di musica; se invece comprimiamo il file utilizzando lo standard MP3 questo occuperà all'incirca un decimo dello spazio mantenendo una qualità paragonabile a quella dell'originale. La codifica avviene sulla base di un modello psicoacustico elaborato nel corso degli anni da vari enti di ricerca internazionali. Per ridurre la quantità di informazioni necessarie per la memorizzazione di un file audio si sfruttano le caratteristiche dell'orecchio umano. E' noto infatti che la soglia di udibilità varia in dipendenza della frequenza e dell'ampiezza del suono con una legge non lineare, oltre determinate soglie non siamo più in grado di percepire i suoni. Un encoder mp3 analizza l'audio in ingresso e crea una curva di mascheratura stabilendo quali informazioni possono essere eliminate e quali invece sono fondamentali.  Quindi, per sua natura, l'MP3 è un formato di compressione lossy, ovvero con perdita di dati; di conseguenza all'aumentare del rapporto di compressione diminuisce la qualità del brano (più piccolo è il file, maggiore è la quantità di dati che sono stati rimossi). Questo comporta che se si copia il file la copia sarà perfettamente identica all'originale (caratteristica propria dei dati in formato digitale), mentre se si decodifica un file MP3 in un file wave e lo si codifica di nuovo ci sarà un decadimento della qualità dovuto alla perdita di dati che comporta il passaggio da wave a MP3.

I TAG ID

Il programma da noi sviluppato permette anche la visualizzazione dei tag ;i tag sono delle informazioni che vengono accodate al file audio e che contengono il nome dell'artista, il nome della canzone, il genere e altre informazioni che riguardano il brano. Risulterebbe impossibile inserire tutte questi dati nel nome del file, che diventerebbe troppo lungo e quindi poco leggibile.

FILE WAVE

Il termine wave significa  onda e nel caso specifico di questo formato si intende onda sonora.
L'insieme delle vibrazioni che parte da una sorgente sonora (strumento musicale, orchestra, voce, acqua che scorre in un ruscello) e arriva, attraverso l'aria, al nostro orecchio è definibile come onda sonora. Il fenomeno puramente fisico delle onde che colpiscono il timpano viene da noi percepito, grazie alle cellule cerebrali, come suono.
I suoni possono essere registrati digitalmente, attraverso la tecnica del "campionamento", scomponendo, cioè, l'onda sonora in tanti minuscoli "pezzettini", chiamati campioni, e attribuendo a ciascuno un valore.
E' evidente che maggiore è la quantità di campioni in un secondo, vale a dire la loro frequenza, maggiore è la qualità del suono riprodotto. Ma è altrettanto vero che tanto più numerose sono le informazioni da memorizzare tanto più grande è la quantità di risorse necessaria a conservarle. E questo spiega le grosse dimensioni dei file .WAV. Se infatti utilizziamo 1 byte per identificare ciascun campione e i campioni per secondo sono 22.050 (qualità media) avremo un file di 220.500 byte per un suono di soli 10 secondi.
Con l'aumentare della qualità sonora, cioè del numero di campioni per secondo, 1 byte non è più sufficiente a rappresentare ogni singolo campione. 1 byte è composto da 8 bit che possono assumere i valori di 0 o 1. Sono quindi possibili 28 sequenze di 0 e 1, cioè 256 diversi valori. Ma con campionamenti di qualità elevata, come quelle utilizzate per i CD Audio (ben 44.100 campioni/secondo) l'identificazione diventa problematica. Pertanto vengono usati 2 byte cioè 16 bit, disponendo così di 216 = 65.536 possibili valori per ogni campione. Aumenta, in tal modo, quella che viene definita risoluzione. Ma non è finita.
Il brano di 10 secondi dell'esempio è diventato a questo punto di 44.100 x 10 x 2 = 882.000 byte! Questo vale solo per un canale. Ma se il brano è stereo, cioè utilizza due canali, occorre moltiplicare ancora per 2, arrivando alla ragguardevole dimensione di 1.764.000 byte. Se la durata è di un minuto i byte diventano 10.584.000, se è di 1 ora 635.040.000., cioè circa 600 MB (!), che è infatti quasi la massima dimensione registrabile su un CD Audio.
Ricapitolando. La qualità di un brano audio digitale e, di conseguenza, la sua dimensione dipendono da tre fattori: il numero di campioni per secondo, la risoluzione e i canali. Il prodotto di questi tre elementi è definito bitrate, cioè bit per secondo, ovvero bps. Il bitrate dei brani presenti sui CD audio è di 1411,2 kbps.
Alla luce di quanto detto è evidente che il formato .WAV non è utilizzabile per diffondere musica su Internet o per memorizzare brani sul PC, a causa dell'eccessivo dispendio di risorse che il suo uso comporta. Viene, però, largamente utilizzato per creare effetti sonori, specialmente nei programmi e nei giochi o per personalizzare facilmente eventi particolari anche in una pagina Web. Ad es.: il vagito del mio sito neonato sulla Home Page o il gridolino di disappunto per l'eventuale impossibilità del browser a visualizzare i frame, sono stati da me registrati con il semplice registratore di suoni di Windows.
Per concludere voglio sottolineare il fatto che il formato Wave non è altro che la registrazione in digitale di suoni reali, suoni che hanno avuto origine da una fonte esterna al PC. In un brano musicale .WAV la batteria, il pianoforte, la chitarra, il basso o la voce si sentono allo stesso modo indipendentemente dal PC su cui il file viene ascoltato (a parità di qualità acustica dei componenti hardware, naturalmente).

 

FILE MIDI

Se in un file Wave può essere memorizzato, ad esempio, il suono di un pianoforte che esegue una nota per una certa durata di tempo. In un file MIDI, viceversa, sono contenute istruzioni che comunicano alla scheda audio di modulare la frequenza in modo da produrre una particolare nota che abbia una timbrica simile a quella di un pianoforte e che duri una certa quantità di tempo. In un file Wave ci sono suoni, in un file MIDI ci sono solo comandi. Questo comporta che i file MIDI sono enormemente più piccoli dei file WAV e  dal momento che nei file MIDI sono presenti solo istruzioni, è possibile, con l'aiuto di programmi specializzati, "far suonare" direttamente il PC senza bisogno di sorgenti sonore esterne. Non solo, disponendo di un'apposita scheda, generalmente inserita sulla scheda audio, è anche possibile collegare una tastiera o uno strumento musicale al computer e far nascere file MIDI dalle nostre esecuzioni.
C'è da dire che la dipendenza del suono da una scheda può determinare differenze nell'ascolto a seconda del computer su cui il file viene fatto suonare.
I file MIDI sono molto utilizzati nei giochi e sono diffusissimi sui Internet come colonne sonore per pagine WEB. La qualità di questo formato non è ottima, tuttavia con lo sviluppo del software e dell'hardware si è arrivati ad una qualita musicalmente soddisfacente.

FILE AVI

AVI è l'acronimo di "Audio Video Interleaved" e fu ideato dalla Microsoft.

AVI indica un formato multimediale di memorizzazione di dati , solitamente audio e video .
Piu' specificatamente, AVI e' il primo formato di filmato digitale che ha preso piede per la piattaforma PC DOS, consentendo video  ed audio sincronizzati con qualita' paragonabile a quella televisiva.
Consente la memorizzazione in un unico file di tutti i fotogrammi, dell'audio e delle istruzioni (tempi, dimensioni, tipi di compressione) necessarie alla visualizzazione.
I file di questo tipo solitamente hanno estensione".avi".
Per leggere un file AVI e' necessario disporre di un software che lo possa fare e del particolare modulo decompressore (Codec ) per il tipo di compressione grafica( ne esistono decine: indeo, vfw, MPEG) .

Come detto il nostro programma permette oltre la riproduzione di file multimediali anche la visualizzazione di pagine web.Ora ci soffermeremo,prima di spiegare cos'è un browser,ad analizzare alcuni apetti fondamentali di Internet: il linguaggio HTML e il protocollo HTTP.

 HTML

 

HTML sta per HyperText Markup Language che tradotto vuol dire linguaggio per la codifica degli ipertesti attraverso marcatori .Questo è il linguaggio utilizzato per realizzare i documenti ipertestuali di World Wide Web. Si tratta di un gruppo di 37 marcatori che indicano al browser come visualizzare la pagina e permettono di stabilire collegamenti tra una parola o un intero blocco di testo e un'altra pagina Web, magari memorizzata su un server remoto.
Il testo da codificare deve essere in formato ASCII e la marcatura dei brani interessati dal collegamento ipertestuale avviene mediante l'aggiunta di parole codice che possono essere digitate direttamente da tastiera oppure aggiunte per mezzo di traduttori automatici (i più recenti tra i wordprocessor dispongono di funzioni di traduzione automatica dal proprio formato a quello HTML). L'HTML deriva da SGML, rispetto al quale è
molto più semplice, ma anche meno espandibile. l'HTML (Hypertext Markup Language - linguaggio per la codifica degli ipertesti attraverso marcatori) che costituisce una versione semplificata dell'SGML (Standard Generalized Markup Language - linguaggio di codifica standard e generalizzato). Anche qui l'accento è sulla semplicità, infatti l'HTML prevede un massimo di 37 marcatori e chiunque può imparare a utilizzarli visto che richiamano lo stesso metodo di codifica in uso sui vecchi wordprocessor per DOS, dove il marcatore indicava la caratteristica di tutte le parole che lo seguivano (diceva ad esempio che erano in corsivo) e doveva essere seguito da un altro marcatore .

 

HTTP

 

L'elemento cardine per il funzionamento del World Wide Web è il protocollo HTTP (Hypertext Transfer Protocol). Si tratta di un protocollo molto semplice che regola l'interazione tra il nostro browser e il particolare server con cui quest'ultimo di volta in volta si connette a seguito di una nostra richiesta diretta oppure seguendo un rimando ipertestuale. La transazione tra queste due entità si svolge in quattro fasi: connessione, richiesta del documento, risposta e disconnessione.
Le prime tre sono di solito segnalate nella finestra del browser con scritte in inglese che ci spiegano cosa sta succedendo. Nella richiesta il browser specifica al server quale protocollo deve essere utilizzato (HTTP oppure FTP o altro ancora) infatti lo stesso browser può essere utilizzato per collegarsi anche con siti che non fanno parte del World Wide Web e che offrono servizi Internet tradizionali, come appunto lo scaricamento di file attraverso il protocollo FTP (File Transfer Protocol).
Dopo che la pagina è giunta sulla nostra macchina, la connessione col server s'interrompe e va ripresa quando si chiede di passare a una seconda pagina sul medesimo server oppure a un secondo server. Questo talvolta vale anche per il percorso a ritroso, dove si chiede di visualizzare una seconda volta una pagina che avevamo già visto. L'eventuale presenza di grafica rende questo andirivieni abbastanza lento poiché tutte le volte gli elementi grafici devono essere scaricati di nuovo. Una soluzione pratica per eliminare questo inconveniente consiste nel creare una cache sul disco della nostra macchina o sul server che fa da gateway (porta di accesso verso Internet). Così, ogni volta che chiediamo una pagina già vista, la caricheremo dal nostro disco locale oppure dal disco del server vicino anziché di richiamarla dalla Rete. I software di cache sono entità diverse dai browser e perciò bisogna procurarseli separatamente. Un sistema per non dover scaricare continuamente la stessa pagina (se questa contiene prevalentemente testo) consiste nel salvarla sulla propria macchina come file a sé stante e nel richiamarla dall'interno del browser come si richiamerebbe un qualsiasi documento dall'interno di un word processor (tra l'altro, alcuni programmi di elaborazione dei testi permettono di visualizzare e modificare queste pagine scaricate in locale senza dover ricorrere al browser).
Il documento che circola sulla rete quando si è connessi a un server Web ha un formato particolare e usa al proprio interno una serie di codici che dicono al browser come visualizzare il testo e le immagini che vi sono associate. Il più diffuso tra i linguaggi usati per questa codifica è  html.

 

CHE COS'E' UN BROWSER

Per capire che cosa fà un browser e soprattutto che cos' è si può fare riferimento all'interazione tra client e server. Client e server possono essere definiti come due programmi in esecuzione su macchine, solitamente diverse, che interagiscono attraverso uno o più protocolli mediante un sistema di comunicazione. La funzione del server è quella di fornire un servizio al programma client che è appunto il cliente del servizio.
Da questo punto di vista il browser è il client, cioè il cliente, delle informazioni fornite dai server.
L'interazione tra client e server può essere naturalmente molto più complessa di come descritto: ad esempio non è sempre vero che il servizio fornito dal server è gratuito. Molto spesso accade quindi che il cliente deve essere abilitato dal server per poter usufruire del servizio attraverso un procedimento di autenticazione.
Affinchè client e server si comprendano risulta necessario che parlino la stessa lingua: poichè il web può gestire informazioni contenute su diversi server (web server, ftp server, ghoper server, ecc) è necessario che il browser interpreti  tutti questi linguaggi. Nel caso di documenti web ipertestuali, il browser deve essere in grado di comunicare con il server web utilizzando il protocollo HTTP.
Quando il browser richiede un documento al server utilizza un URL, cioè un indirizzo che punta alla pagina che si vuole raggiungere, il server risponde inviando al browser il documento.
Se il documento richiesto è un file html, il browser interpreta il codice html contenuto nel documento e visualizza la pagina.