Buenas
0
Para reproducir mi problema de la forma más sencilla: creo un formulario que contiene un botón y al hacer clic en él se genera un hilo donde se reproduce un sonido en bucle.
Cita:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
TRecitar *Recitar = new TRecitar(false);
}
|
Cita:
class TRecitar : public TThread
{
private:
UnicodeString PathGhost;
protected:
void __fastcall Execute();
public:
__fastcall TRecitar(bool CreateSuspended);
};
__fastcall TRecitar::TRecitar(bool CreateSuspended)
: TThread(CreateSuspended)
{
PathGhost=System::Ioutils::TPath::GetDocumentsPath()+"/";
}
void __fastcall TRecitar::Execute()
{
FreeOnTerminate = true;
UnicodeString Audio;
TMediaPlayer *Pl;
for(int i=1;i<150;i++)
{
Audio = PathGhost + "Multimedia/SonG.3gp";
Pl->FileName = Audio;
Pl->Play();
sleep(1);
Pl->Stop();
Pl->Clear();
}
}
|
Al iniciar el proceso, el sonido se reproduce en bucle hasta un número determinado de veces (en mi caso 40), y luego deja de “escucharse”, pero el bucle sigue corriendo sin dar ningún tipo de error (simplemente no se reproduce el sonido).
He probado mil cosas pero no encuentro el error... puede ser un problema en mi android... ... ¿Alguna idea?
Nota: He intentado inicializar el puntero TMediaPlayer de la forma : new TMediaPlayer () y new TMediaPlayer (this) y ninguna de las dos es compatible con el componente...creo que se inicializa cuando se le asigna el Nombre del archivo a reproducir.