Lautstärke auf Null bei Anruf

Gibts was fertiges, das bei Anrufen über die Fritzbox die Lautstärke des Mediaplayers vorübergehend auf null setzt und nach dem Anruf wieder auf den vorherigen Wert?

Gibt es. Schau mal bei Fritzbox.

Hier mal ein Ausschnitt. Musst halt die Variablen entsprechend anlegen.

// Daten aus Registervariable auswerten
switch($daten[1])
{
    case "RING":
   $Rufnummer = $daten[3];
   $intern = $daten[4];
   //SetValue(33912 /*[Fritzbox\Anrufe\Anrufe\Anruf]*/, true);
   $lautstaerkeRing = GetValue(49573 /*[Multimedia\WebRadio\Web Radio\Volume]*/);
    SetValue(30611 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer\letzteLautstärke]*/, $lautstaerkeRing);
   if($intern == xxxxx)
   {
       IPS_RunScript(23169 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer]*/);
    }
    if(in_array($Rufnummer, $array["Nummer"]))
   {
       $intern = array_search($Rufnummer, $array["Nummer"]);
       SetValue(52055 /*[Fritzbox\Anrufe\Anrufe\Eingehender Anruf]*/, "<b style=color:#0085CE;/>"."am ".datetime. " von ".$array["Name"][$intern]."<b />");
       SetValue(42706 /*[Fritzbox\Anrufe\Anrufe\Letzter Anruf]*/, "<b style=color:#FFFF40;/>"."am ".datetime. " von ".$array["Name"][$intern]."<b />");
       echo "Anruf am ".datetime. " von ".$array["Name"][$intern];
       SetValue(10528 /*[Fritzbox\Anrufe\Anrufe\Name]*/, $array["Name"][$intern]);
       return;
   }
   else
   {
      $Rufnummer = SucheNummer($Rufnummer);
   }
   break;

   case "CALL":
   $interneNummer = $daten[4];
   $lautstaerkeCall = GetValue(49573 /*[Multimedia\WebRadio\Web Radio\Volume]*/);
    SetValue(30611 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer\letzteLautstärke]*/, $lautstaerkeCall);
   if ($interneNummer == xxxxx)
   {
      $interneNummer = "Rainer";
      IPS_RunScript(23169 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer]*/);
    }
    else
    {
       $interneNummer = "Gabi";
    }
    $externeNummer = $daten[5];
    SetValue(35105 /*[Fritzbox\Anrufe\Anrufe\Ausgehender Anruf]*/, "<b style=color:#00FF00;/>"."von ".$interneNummer." zu ".$externeNummer."<b />");
   break;

   case "DISCONNECT":
   IPS_RunScript(22055 /*[Fritzbox\Anruferliste abholen]*/);
   RegVar_SetBuffer(27536 /*[Fritzbox\Fritzport1012]*/, "");
   SetValue(52055 /*[Fritzbox\Anrufe\Anrufe\Eingehender Anruf]*/, "");
   SetValue(35105 /*[Fritzbox\Anrufe\Anrufe\Ausgehender Anruf]*/, "");
   $lautstaerke = GetValue(30611 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer\letzteLautstärke]*/);
   WAC_SetVolume(44140 /*[Multimedia\WebRadio\Web Radio]*/, $lautstaerke);
   IPS_SetScriptTimer(33436 /*[Fritzbox\Internettelefonie]*/, 10);
   //SetValue(33912 /*[Fritzbox\Anrufe\Anrufe\Anruf]*/, false);
   break;
}

und das Script für den Mediaplayer.

<?
$lautstaerke = GetValue(49573 /*[Multimedia\WebRadio\Web Radio\Volume]*/);
SetValue(30611 /*[Fritzbox\Anrufe\Anrufe\LautstärkeMediaplayer\letzteLautstärke]*/, $lautstaerke);

WAC_SetVolume(44140 /*[Multimedia\WebRadio\Web Radio]*/, 5);


?>

Hallo Rainer

wollte mich mal über diese Aufgabe hermachen. Aber ich scheitere bei der ganzen Variablengeschichte. Könntest du mir da eine Dummy-Erklärung geben?

Na, so schwer ist es doch nicht.

Du holst dir deine aktuelle Lautstärke vom Player, speicherst diese in einer Variablen ab. Wenn der Anruf beendet ist, holst Du dir die abgespeicherte Lautstärke wieder und setzt den Player damit wieder auf den alten Wert.

heisst das, ich brauche nur das zweite Script?

Das kannst Du machen wie Du willst. Ich rufe es separat auf. Du kannst es auch mit einbauen.

welche Variable ist hier gemeint?

// Daten aus Registervariable auswerten
switch($daten[1])
 $lautstaerkeRing = GetValue(49573 /*[Multimedia\WebRadio\Web Radio\Volume]*/);
SetValue(30611 /*[Fritzbox\Anrufe\LautstärkeMediaplayer\letzteLautstärke]*/, $lautstaerkeRing);