Dzwięk wav po wciśnieciu buttona

0

Witam

Ma ktoś może się podzielić kodem, że po wciśnięciu buttona włącza się dźwięk;

Dziękuje z góry za pomoc.

0

Nie napisałeś o co Ci chodzi.
WPF/Win Forms?

To ja pokażę w WPF:
Krok 1: Tworzysz sobie nowe okienko WPF;
Krok 2: Zmniejszasz to okienko do takich rozmiarów, żeby był tam button;
Krok 3: Otrzymujesz więc taki kod:

 <Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="126" Width="244">
    <Grid>
        
    </Grid>
</Window>

Chyba nie trzeba tłumaczyć?

Krok 4: Wstawiasz button z ToolBox;
Krok 5: Zmieniasz mu nazwę na 'Odtwarzaj', żeby pokazać jaki jesteś PRO;
Krok 6: Otrzymujesz taki kod:

 <Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="126" Width="244">
    <Grid>
        
    </Grid>
</Window>

Krok 7: Przystępujesz do oprogramowania buttona:
a) klikasz na niego dwa razy
b) Otrzymujesz taki kod w C#:

  private void button1_Click(object sender, RoutedEventArgs e)
        {

        }
 

Również chyba nie trzeba tłumaczyć.
Kolejnym krokiem jest dodanie referencji do bibliotek Windows Media Player;
Klikasz kolejno Project - > Add Referencje... - > COM - > znajdujesz wmp.dll i klikasz w to dwa razy lub klikasz przycisk OK.
Jak poprawnie dodano to wpisujesz na początku pliku:

using WMPLib; 

Teraz modyfikujesz zdarzenie kliknięcia w button:

 WindowsMediaPlayer w1 = new WindowsMediaPlayer();
            w1.URL = @"D:\m\f.mp3";
            w1.controls.play(); 

Wszystko zgodnie z dokumentacją MSDN dostępną tutaj: http://msdn.microsoft.com/pl-pl/
Teraz kiedy skompilujesz (klawisz F5) usłyszysz dzwiek, który znajduje się pod tą ścieżką:
D:\m\f.mp3

Tak więc podsumowując:
Kod XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="126" Width="244">
    <Grid>
        <Button Content="Odtwarzaj" Height="23" HorizontalAlignment="Left" Margin="15,30,0,0" Name="button1" VerticalAlignment="Top" Width="195" Click="button1_Click" />
    </Grid>
</Window>
 

Oraz kod C#:

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            WindowsMediaPlayer w1 = new WindowsMediaPlayer();
            w1.URL = @"D:\m\f.mp3";
            w1.controls.play();
        }
    }
} 

UPS..
teraz zauważyłem, że to C++ miał być. No cóż może się innym przyda a Ty i tak powinieneś ten kod zrozumieć :D

0

Jakikolwiek? Beep(częstotliwość_w_hercach, długość_w_milisekundach) z WinAPI.

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

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

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