Genial a todos, al final lo consegui gracias a vuestra ayuda. Ahora estoy con lo mismo pero con archivos mp3 y lo he conseguido asi:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Songs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool retval;
char my_song[]="my_song.mp3";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
bool ResToFile(char *nombre_salida,int ID)
{
retval=true;
try{
TResourceStream *RS= new TResourceStream((unsigned int)HInstance,SONG1,RT_RCDATA);
try{
RS->SaveToFile(my_song);
}catch(...){
retval=false;
}
delete RS;
}catch(...){
retval=false;
}
return retval;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
if(ResToFile(my_song,SONG1)==true){
MediaPlayer1->FileName=my_song;
MediaPlayer1->Open();
MediaPlayer1->Play();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(retval==true){
MediaPlayer1->Stop();
MediaPlayer1->Close();
if(FileExists(my_song))
DeleteFile(my_song);
}
}
//---------------------------------------------------------------------------
Solo tengo una duda y es que para reproducirla con el TMediaPlayer ¿tengo que extraerla si o si como archivo? ¿no se puede reproducir sin extraerla en un archivo?
PD: escafandra tu metodo me lo guardo para otro momento que seguro me vendrá bien pero para este son todos BMP con lo que con lo que tengo me sobra y me basta, gracias amigos.
PD2: en Song.h lo que tengo es la declaracion del ID para el recurso que es:
Código PHP:
#define SONG1 100