Odtwarzanie dźwięku .wav WPF

0

Witam :)
Mam problem i bardzo proszę o pomoc.
W aplikacji (po kliknięciu Buttona) odtwarzam dźwięk w rozszerzeniu .wav za pomocą biblioteki Windows Media Player. Jednak podczas gdy dźwięk jest odtwarzany najechanie na inną kontrolkę, czasem nawet poruszenie myszką wyłącza ten dźwięk. Jakieś pomysły dlaczego tak może się dziać?

Pozdrawiam.

0

A moglbyś wrzucić jakiś kod jak wywołujesz ta kontrolke MediaPlayera? Ewentualnie caly kod ;)

0

Zad1.xaml:

 <grid>
  <controls:obrazkowybutton width="80" height="80" imagesource="/Images/glosnik.png" click="Glosnik_Click" />
 </grid>

Zad1.xaml.cs:

    private void Glosnik_Click(object sender, RoutedEventArgs e)
        {
            WindowsMediaPlayer tresczadania = new WindowsMediaPlayer();
            tresczadania.URL = @"D:\Marta\INZYNIERKA\Projekt\Sounds\Zad1.wav";
            tresczadania.controls.play();
        }

Najdziwniej że czasami odtworzy się cały dźwięk, czasami tylko trochę. Bardzo różnie. I najprędzej nie działa poprawnie dla dłuższych dźwięków, dla krótkich jest okej, jednak ja potrzebuję wstawić w niektórych miejscach dłuższe instrukcje...
Mogę wrzucić więcej kodu ale nie wiem czy to coś wniesie..

1

Dodaj ten media element do jakiegoś panelu. np
mainGrid.Children.Add(tresczadania);

btw Czemu tak dziwnie to nazywasz

0

@Trebuh Jak zmieniłam button na zwykły to dalej bez zmian...

@dam1an Niestety jak dodaję ten element do mojego Grida wyskakuje błąd:
Error 14 Argument 1: cannot convert from 'WMPLib.WindowsMediaPlayer' to 'System.Windows.UIElement'

Tak więc raczej nici... A nazwa? Plik zawiera treść zadania Zad1, wiec nazwa tresczadania wydawała się całkiem
logiczna..;p

1

Twoja zmienna WindowsMediaPlayer po wyjściu z funkcji jest gubiona. Nie masz jak do niej się już odwołać.
To znaczy, że jest „niepotrzebna” i garbage collector może ją zwolnić w każdym momencie.

Zrób ją jako pole w klasie na przykład.

0

Dziękuję za pomoc! Rzeczywiście nie zauważyłam... Już zmienione i w końcu działa jak należy...
Jeszcze raz dzięki! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1