PlaySound

Reproduce archivo de audio.

bool  PlaySound(
   string  filename      // nombre del archivo
   );

Parámetros

filename

[in]  La ruta del archivo de audio. Si filename=NULL, la reproducción del sonido se para.

Valor devuelto

true — si el archivo de audio ha sido encontrado, en caso contrario devuelve false.

Nota

El archivo tiene que estar ubicado en la carpeta  directorio_de_terminal\Sounds o en su subcarpeta. Se reproducen sólo los archivos de audio en el formato WAV.

La llamada a PlaySound() con el parámetro NULL para la reproducción del sonido.

Durante el trabajo en el Probador de Estrategias la función PlaySound() no se ejecuta.

Ejemplo:

#include <Trade\Trade.mqh>
#define MAGIC (123)
 
//--- input parameters
input string          InpFileNameOK  = "ok.wav";               // Success sound Filename
input string          InpFileNameErr = "timeout.wav";          // Error sound Filename
input ENUM_ORDER_TYPE InpOrderType   = ORDER_TYPE_BUY_LIMIT;   // Order type
input double          InpLots        = 0.1;                    // Lots
 
//--- global variables
CTrade ExtTrade;
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- establecemos el número mágico y el tipo de orden por ejecución según la configuración del símbolo
   ExtTrade.SetExpertMagicNumber(MAGIC);
   ExtTrade.SetTypeFillingBySymbol(Symbol());
//--- llamamos a la función para colocar una orden o abrir una posición con reproducción de sonido
   OrderSendWithAudio();
  }
//+------------------------------------------------------------------+
//| La función coloca una orden o abre una posición                  |
//| y reproduce un sonido de éxito o error                           |
//+------------------------------------------------------------------+
void OrderSendWithAudio(void)
  {
   bool    res=true;
   MqlTick tick= {};
 
   ResetLastError();
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("SymbolInfoTick() failed. Error code: ",GetLastError());
      PlaySound(InpFileNameErr);
      return;
     }
//--- enviamos una solicitud al servidor
   switch(InpOrderType)
     {
      case ORDER_TYPE_BUY :
         res=ExtTrade.Buy(InpLots);
         break;
      case ORDER_TYPE_BUY_LIMIT :
         res=ExtTrade.BuyLimit(InpLots,NormalizeDouble(tick.ask-100*Point(),Digits()));
         break;
      case ORDER_TYPE_BUY_STOP :
         res=ExtTrade.BuyStop(InpLots,NormalizeDouble(tick.ask+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL :
         res=ExtTrade.Sell(InpLots);
         break;
      case ORDER_TYPE_SELL_LIMIT :
         res=ExtTrade.SellLimit(InpLots,NormalizeDouble(tick.bid+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL_STOP :
         res=ExtTrade.SellStop(InpLots,NormalizeDouble(tick.bid-100*Point(),Digits()));
         break;
      default :
         res=false;
     }
   if(!res)
      Print("Error ",GetLastError());
   Print(ExtTrade.ResultRetcodeDescription());
 
//--- si la solicitud ha sido aceptada, reproducimos el sonido ok.wav
   if(ExtTrade.ResultRetcode()==TRADE_RETCODE_DONE)
      PlaySound(InpFileNameOK);
   else
      PlaySound(InpFileNameErr);
  }

Véase también

Recursos