Musik ein und aus faden

Ich habe mal eine Frage ,
Im Moment fade ich meine Musik mit folgendem Skript runter.

	WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 9);
	IPS_Sleep(400);
	WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 8);
	IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 7);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 6);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 5);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 4);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 3);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 2);
   IPS_Sleep(400);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 1);
   IPS_Sleep(300);
   WAC_SetVolume(32727 /*[Multimedia\Media Player Sound]*/, 0);

Das funktioniert zwar, ist aber nicht praktikabel. Denn wenn ich eine höhere
Lautstärke als 10 habe macht es natürlich einen Sprung. Ich habe versucht,
aus Ferengi-Master´s TTS Ausgabe mir was abzuschauen, scheitere aber daran.
Vielleicht könnte mir jemand mit einem Code Schnipsel auf die Sprünge helfen.
Ich denke das ich mir die aktuelle Lautstärke mit GetValue hole und dann hoch
oder runterzählen muss. Aber da stocke ich im Moment.

ich kenn’ das Teil nicht, aber bei vielen Streaming Playern gibt es für das aus- und einblenden Befehle bzw. man kann eine Lautstärke plus Zeit angeben.

Gibt’s das da nicht?
jwka

ich mache das bei meinen Sonos-Boxen so:



// Function Volume Fader +++++++++++++++++++++++++++++++++++++++++++++++++++++++
function VolumeFade($Sonos_IP, $Ist, $Ziel)
{
	$sonos = new PHPSonos($Sonos_IP);
	$s_volume_id = 43741 /*[Sonos\Bad\Volume]*/ ;
	if ($Ist < $Ziel) // Volume Fade up
	{
		$delta = ($Ziel - $Ist );
		for ($count = 1; $count <= ($delta + 1); $count++)
		{
	      $sonos->SetVolume($Ist ++);
			IPS_sleep(30);
		}
	}
	if ($Ist > $Ziel) // Volume Fade down
	{
		$delta = ($Ist - $Ziel);
		for ($count = 1; $count <= ($delta); $count++)
		{
	      $sonos->SetVolume($Ist --);
			IPS_sleep(200);
		}
	}
	setValueInteger($s_volume_id, $Ist);
}

könnte man sicher an deine Umgebung anpassen.
$Ist = der aktuelle Volume-Wert
$Soll = der Ziel-Volume Wert

Das ist der Teil aus meinem Script den Du brauchst.:wink:


//Lautstärkewert holen
$musik_vol = GetValue($id_sk1_musik_vol); 
//Slider
for ($musik_vol; $musik_vol>=1; $musik_vol--)
{
  WAC_SetVolume ($id_sk1_musik, $musik_vol);
  $slider = 3000; //Zeit des Sliders in ms
  if($merken>0) $warten = $slider/$merken; else $warten = 0;
  IPS_Sleep($warten);
}