Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Usando BASS Library para el sonido Mp3 en nuestros programas (https://www.clubdelphi.com/foros/showthread.php?t=91083)

Snaked 08-11-2016 12:11:29

Usando BASS Library para el sonido Mp3 en nuestros programas
 
Hace tiempo consegui esta libreria, (la que usaré aqui es una version de hace algun tiempo, la version 2.0, no la ultima version)

lo primero que tenemos que hacer es añadir el Bass.lib a nuestro proyecto mediante la opcion Project->Add to Project del menu

después en el código fuente..... en el constructor de Form1 emplazamos la inicializacion que seria asi:


Unit1.cpp
Código PHP:

__fastcall TForm1::TForm1(TComponentOwner)
    : 
TForm(Owner)
{

    if (
BASS_GetVersion() != MAKELONG(2,0))
        throw 
Exception("No se pudo cargar la versión 2 de BASS");

    if (!
BASS_Init(1441000Handle0))
        throw 
Exception("Error inicializando audio");

}
//--------------------------------------------------------------------------- 


en el fichero de cabecera, declararemos como HSTREAM una variable que será la que almacene la cancion mp3


Unit1.h

Código PHP:

private:

    
HSTREAM stream;
    
bool reproduciendo


y finalmente, llamaremos desde cualquier lugar del codigo, a la funcion que carga y reproduce el fichero mp3 por ejemplo
aqui la llamamos al crear el Form1

Código PHP:

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
       
stream=BASS_StreamCreateFile(FALSE,"music1.mp3",0,0,0);
      
reproduciendo BASS_StreamPlay(streamfalseBASS_SAMPLE_LOOP);  
             
//BASS_SAMPLE_LOOP repite en modo loop continuamente la cancion
      

           
BASS_SetVolume(100);     //ajustamos el volumen



    // Cambia el volumen del stream al volumen actual
        // trkbVolumen es un componente trackbar (min=0 :: Max=100)

    
trkbVolumen->Position 0;
    
trkbVolumenChange(this);
}
//--------------------------------------------------------------------------- 


y tambien, no olvidemos liberar la memoria al final

Código PHP:

void __fastcall TForm1::StopStream(void)
{
    if (
stream)
        
BASS_StreamFree(stream);   //si stream tiene cancion, la liberamos
  
    
stream 0;
    
reproduciendo false;  //variable para controlar la reproduccion
    
BASS_Free();    // liberamos el interface de audio




Aqui tenéis los archivos necesarios: (el DLL debe acompañar al deployment del EXE)
http://www.qualinost.tk/descargas/bass_2_files.rar

Snaked 10-11-2016 10:09:10

se me olvidaba .... al principio en los includes de la cabecera

Código PHP:

#include "bass.h" 

entre los ficheros incluidos en el mensaje anterior, hay un CHM de ayuda donde se explica todo sobre las funciones que lleva la libreria.....


La franja horaria es GMT +2. Ahora son las 13:27:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi