2508181020

This commit is contained in:
jasonchenwork 2025-08-18 10:29:00 +08:00
parent 4f2f7cb370
commit cf9fe3a0e6

View File

@ -66,8 +66,8 @@ namespace DualScreenDemo
private const int GWL_EXSTYLE = -20; private const int GWL_EXSTYLE = -20;
private const int WS_EX_TOPMOST = 0x00000008; private const int WS_EX_TOPMOST = 0x00000008;
private const uint SWP_NOZORDER = 0x0004; private const uint SWP_NOZORDER = 0x0004;
private MediaService _mediaService0= new MediaService(); private MediaService _mediaService0 = new MediaService();
private MediaService _mediaService1= new MediaService(); private MediaService _mediaService1 = new MediaService();
public static OverlayForm overlayForm; public static OverlayForm overlayForm;
public bool isMuted = false; public bool isMuted = false;
@ -121,7 +121,7 @@ namespace DualScreenDemo
} }
else else
{ {
_mediaService0.SetVideoOutput(PrimaryForm.Instance.videoPanel.Handle,PrimaryForm.Instance.videoPanel.Width,PrimaryForm.Instance.videoPanel.Height); _mediaService0.SetVideoOutput(PrimaryForm.Instance.videoPanel.Handle, PrimaryForm.Instance.videoPanel.Width, PrimaryForm.Instance.videoPanel.Height);
_mediaService1.SetVideoOutput(this.Handle, secondMonitor.Bounds.Width, secondMonitor.Bounds.Height); _mediaService1.SetVideoOutput(this.Handle, secondMonitor.Bounds.Width, secondMonitor.Bounds.Height);
PlayNextSong(); PlayNextSong();
} }
@ -333,14 +333,22 @@ namespace DualScreenDemo
{ {
string pathToPlay = song.getFile(); string pathToPlay = song.getFile();
_mediaService0.LoadMedia(pathToPlay, 0); _mediaService0.LoadMedia(pathToPlay, 0);
_mediaService0.Mute(isMuted);
_mediaService1.LoadMedia(pathToPlay, song.isPublicSong ? 0 : 1); _mediaService1.LoadMedia(pathToPlay, song.isPublicSong ? 0 : 1);
_mediaService1.Mute(isMuted); if (song.isPublicSong)
{
isVocalRemoved = true;
}
else
{
isVocalRemoved = false;
}
_ToggleVocalRemoval(isVocalRemoved);
// 音量處理 // 音量處理
//SetVolume(isMuted ? 0 : previousVolume); //SetVolume(isMuted ? 0 : previousVolume);
SetVolume(100+song.getBasic().getDbChange()); SetVolume(100 + song.getBasic().getDbChange());
if (isSyncToPrimaryMonitor) SyncToPrimaryMonitor(); if (isSyncToPrimaryMonitor) SyncToPrimaryMonitor();
return Task.CompletedTask; return Task.CompletedTask;
} }
@ -459,15 +467,12 @@ namespace DualScreenDemo
} }
public bool Mute(bool isMuted) public bool Mute(bool isMuted)
{ {
if(isMuted){ if (isMuted)
if(isVocalRemoved){ {
_mediaService0.Mute(true); _ToggleVocalRemoval(isVocalRemoved);
_mediaService1.Mute(false);
}else{
_mediaService0.Mute(false);
_mediaService1.Mute(true);
} }
}else{ else
{
_mediaService0.Mute(false); _mediaService0.Mute(false);
_mediaService1.Mute(false); _mediaService1.Mute(false);
} }
@ -488,18 +493,15 @@ namespace DualScreenDemo
private bool isVocalRemoved = true; private bool isVocalRemoved = true;
public void ToggleVocalRemoval() public void ToggleVocalRemoval()
{ {
isVocalRemoved=!isVocalRemoved; isVocalRemoved = _ToggleVocalRemoval(!isVocalRemoved);
if(isVocalRemoved){
_mediaService0.Mute(true);
_mediaService1.Mute(false);
}else{
_mediaService0.Mute(false);
_mediaService1.Mute(true);
}
//int trackIndex = isVocalRemoved ? 1:0;
//_mediaService.SetAudioTrack(trackIndex);
OverlayForm.MainForm.ShowTopRightLabelTime(isVocalRemoved ? "無人聲" : "有人聲"); OverlayForm.MainForm.ShowTopRightLabelTime(isVocalRemoved ? "無人聲" : "有人聲");
} }
private bool _ToggleVocalRemoval(bool isVocal)
{
_mediaService0.Mute(isVocal);
_mediaService1.Mute(!isVocal);
return isVocal;
}
} }
} }