wmp.dll, Volume für gesamte Anwendung

DarkDirk

Grünschnabel
Hallo,
also ich hab ein Problem, ich hab ein Programm geschrieben das mehrer WindowsMediaPlayer erzeug und dann verschiede Musikstücke gleichzeitig abspielen kann.
Dabei ist jetzt folgends Problem aufgetreten, wenn ich bei einem Windows Media Player das Volume verstelle, dann ändert Windows Vista die Lautstärke für die gesamte Anwendung.

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public MediaPlayer.MediaPlayerClass PlayerMain = new MediaPlayer.MediaPlayerClass();
        public MediaPlayer.MediaPlayerClass PlayerClub = new MediaPlayer.MediaPlayerClass();
        public MediaPlayer.MediaPlayerClass PlayerExtreme = new MediaPlayer.MediaPlayerClass();
        public bool m1s = false; 
        public bool m2s = false;
        public bool m3s = false;

        private void button1_Click(object sender, EventArgs e)
        {
            if (!m1s)
            {
                PlayerMain.Open("C:\\Users\\Dirk\\Desktop\\#Musik\\main.asx");
                PlayerMain.Play();
                m1s = true;
            }
            else
            {
                PlayerMain.Stop();
                m1s = false;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (!m2s)
            {
                PlayerClub.Open("C:\\Users\\Dirk\\Desktop\\#Musik\\club.asx");
                PlayerClub.Play();
                m2s = true;
            }
            else
            {
                PlayerClub.Stop();
                m2s = false;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (!m3s)
            {
                PlayerExtreme.Open("C:\\Users\\Dirk\\Desktop\\#Musik\\extreme.asx");
                PlayerExtreme.Play();
                m3s = true;
            }
            else
            {
                PlayerExtreme.Stop();
                m3s = false;
            }
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            PlayerMain.Volume = trackBar1.Value;
        }

        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            PlayerClub.Volume = trackBar2.Value;
        }

        private void trackBar3_Scroll(object sender, EventArgs e)
        {
            PlayerExtreme.Volume = trackBar3.Value;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            int I;
        }
    }
}

Also eigentlich ist das Probgramm ganz überschaubar, aber ich finde trotzdem keinen Fehler. Ich hoffe irgentwer kennt eine Lösung, weil ich finde DirectSound von DirecX doch ein bischen übertrieben und ich kann es nicht.

Dirk
 
Zurück