Differenze tra le versioni di "La gestione mediante il componente gb.openal"

Da Gambas-it.org - Wikipedia.
 
(40 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Con la revisione 5753 di Gambas-3 è stato aggiunto il componente: ''gb.openal'' che utilizza le risorse dell'[http://it.wikipedia.org/wiki/Application_programming_interface API] di [http://connect.creativelabs.com/openal/default.aspx Openal].
+
#REDIRECT [[La_gestione_dei_file_audio_mediante_il_componente_gb.openal]]
 
 
E' possibile eseguire un file audio mediante le risorse delle seguenti Classi del componente ''gb.openal'':
 
* ''Al'' ed ''Alure'' |[[#Note|1]]|
 
 
 
 
 
 
 
==Eseguire un file audio con le risorse della Classe ''Al'' e della Classe ''Alure''==
 
Vi sono almeno due modalità per eseguire un file audio mediante le risorse della Classe ''Al'' e della Classe ''Alure'' del componente ''gb.openal''.
 
<BR>E' possibile riprodurre file audio dei seguenti tipi:
 
* WAV;
 
* MP3;
 
* OGG.
 
 
 
 
 
===1<SUP>a</sup> modalità===
 
'''Public''' Sub Main()
 
 
  Dim percorsoFile As String = "''/percorso/del/file/audio''"
 
  Dim src, lungh, isdone As Integer
 
  Dim ast As Alurestream
 
 
 
<FONT color=gray>' ''Inizializza la libreria "Alure":''</font>
 
    Alure.InitDevice(Null, Null)
 
 
    src = Al.GenSources(1)[0]
 
 
<FONT color=gray>' ''Individua la lunghezza del file audio caricato da eseguire:''</font>
 
    lungh = Stat(percorsoFile).Size
 
 
    ast = Alure.CreateStreamFromFile(percorsoFile, lungh, 0)
 
 
<FONT color=gray>' ''Esegue il flusso di dati audio.''
 
' ''Il terzo parametro della funzione rappresenta il numero dei buffer utilizzati da accodare alla fonte di "OpenAL".''
 
' ''Ogni buffer verrà riempito con la lunghezza del "chunk" specificato quando il flusso è stato creato.''
 
' ''Tale valore nell'esecuzione di un file audio deve essere di almeno 2.''</font>
 
    Alure.PlaySourceStream(src, ast, 3, 0)
 
 
<FONT color=gray>' ''Attende che l'esecuzione sia terminata:''</font>
 
    While isdone = 0
 
      Alure.Update()
 
    Wend
 
 
'''End'''
 
 
 
 
 
===2<SUP>a</sup> modalità===
 
'''Private''' Const AL_BUFFER As Short = 4105    <FONT color=gray>' ''Indica  al buffer di fornire campioni sonori''</font>
 
 
 
'''Public''' Sub Main()
 
 
  Dim buffer, source As Integer
 
 
 
<FONT color=gray>' ''Inizializza la libreria "Alure":''</font>
 
  alure.InitDevice(Null, Null)
 
 
 
  buffer = alure.CreateBufferFromFile("''/percorso/del/file/audio''")
 
 
 
<FONT color=gray>' ''Crea una sorgente sonora:''</font>
 
  source = al.GenSources(1)[0]
 
 
 
<FONT color=gray>' ''Viene utilizzata la variabile "buffer" per riempire la sorgente:''</font>
 
  al.Sourcei(source, AL_BUFFER, buffer)
 
 
 
<FONT color=gray>' ''Esegue il flusso di dati audio.''</font>
 
  al.SourcePlay(source)
 
 
<FONT color=gray>' ''Attende che l'esecuzione sia terminata:''</font>
 
  While state = 0
 
    Alure.Update()
 
  Wend
 
 
'''End'''
 
 
 
 
 
 
=Note=
 
[1] La Classe ''Alure'' del componente ''gb.openal'' consente di gestire le funzioni di [http://kcat.strangesoft.net/alure.html ALURE], che è una libreria di supporto di ''Openal''.
 
 
 
 
 
 
 
<FONT color=red><B>Pagina in costruzione !</b></font>
 

Versione attuale delle 10:12, 3 ago 2020