0
ボリュームミキサーからSpotifyボリュームをcoreaudio.dllでミュートしようとしています。 これは私のコードです:アクセス違反でプログラム(0xc0000005)がクラッシュするエラー
private float volume = 0.9f;
MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
AudioSessionManager2 asm = device.AudioSessionManager2;
SessionCollection sessions = asm.Sessions;
try
{
for (int sid = 0; sid < sessions.Count; sid++)
{
string id = sessions[sid].GetSessionIdentifier;
Console.WriteLine(id);
if (id.ToLower().IndexOf("spotify.exe") > -1)
{
if (muted)
{
volume = sessions[sid].SimpleAudioVolume.MasterVolume;
sessions[sid].SimpleAudioVolume.MasterVolume = 0;
}
else
{
sessions[sid].SimpleAudioVolume.MasterVolume = volume;
}
//sessions[sid].SimpleAudioVolume.Mute = muted;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
これが出力されます。
'VMTit.vshost.exe' (CLR v4.0.30319: VMTit.vshost.exe): Loaded 'C:\Users\Maria\Desktop\Spotify-Ad-Blocker-1.6.3.0\VMTit\VMTit2\bin\Debug\VMTit.exe'. Symbols loaded.
'VMTit.vshost.exe' (CLR v4.0.30319: VMTit.vshost.exe): Loaded 'C:\Users\Maria\Desktop\Spotify-Ad-Blocker-1.6.3.0\VMTit\VMTit2\bin\Debug\CoreAudio.dll'. Cannot find or open the PDB file.
{0.0.0.00000000}.{612a18a0-426d-44a5-bfe5-655ee61c2700}|#%b{A9EF3FD9-4240-455E-A4D5-F2B3301887B2}
{0.0.0.00000000}.{612a18a0-426d-44a5-bfe5-655ee61c2700}|\Device\HarddiskVolume2\Program Files\Steam\Steam.exe%b{00000000-0000-0000-0000-000000000000}
{0.0.0.00000000}.{612a18a0-426d-44a5-bfe5-655ee61c2700}|\Device\HarddiskVolume2\Users\Maria\AppData\Roaming\Spotify\Spotify.exe%b{00000000-0000-0000-0000-000000000000}
The program '[7908] VMTit.vshost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation.
私はそれを使用していたとき、いくつかの数週間前に完璧に動作するために使用されるこのコード。最近、私はW8.1 64bitからW8.1 32bitに移行しました。それ以来、この問題が発生しています。
アイデア?
例外はどこにありますか?また、ミキサーを操作する代わりにSpotify APIを使用してみませんか? – Luaan
@ Luaan私は外部apisを使用したくないので、私はちょうどそれを試したと素晴らしいですね。ありがとうございました。 – user2530266
@ルアアン質問に答えて回答として受け入れることができます – user2530266