Odtwarzanie dźwięku .wav WPF

Odpowiedz Nowy wątek
2014-10-23 15:37

Rejestracja: 5 lat temu

Ostatnio: 3 lata temu

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.

Pozostało 580 znaków

2014-10-23 15:48

Rejestracja: 5 lat temu

Ostatnio: 2 lata temu

0

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

edytowany 1x, ostatnio: FakeAccount, 2014-10-23 15:49

Pozostało 580 znaków

2014-10-23 15:55

Rejestracja: 5 lat temu

Ostatnio: 3 lata temu

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..

edytowany 1x, ostatnio: dluga92, 2014-10-23 16:08
A jak zastąpisz innym buttonem (normalnym) to działa normalnie? - Trebuh 2014-10-23 18:47

Pozostało 580 znaków

2014-10-23 18:55

Rejestracja: 6 lat temu

Ostatnio: 1 tydzień temu

Lokalizacja: Warszawa

1

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

btw Czemu tak dziwnie to nazywasz

Pozostało 580 znaków

2014-10-23 19:29

Rejestracja: 5 lat temu

Ostatnio: 3 lata temu

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

Pozostało 580 znaków

2014-10-23 21:15

Rejestracja: 16 lat temu

Ostatnio: 1 godzina temu

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.

Pozostało 580 znaków

2014-10-23 21:22

Rejestracja: 5 lat temu

Ostatnio: 3 lata temu

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! :)

Pozostało 580 znaków

Odpowiedz

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