在停止SoundPlayer'Alarm' program.

Sleppatloh Miw

新成员
已加入
2021年1月31日
留言内容
1
编程经验
Beginner
嗨,UAll,

使用CSharp和逐步学习的新功能-也遵循YouTube的一些创新。
因此,我在这里向大家提出我的问题。

First, here's my program - Clock 报警:
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows.Forms;

namespace ClockAlarm
{
    public partial class Form1 : Form
    {
        System.Timers.Timer timer;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer = new System.Timers.Timer();
            timer.Interval = 1000;
            timer.Elapsed += Timer_Elapsed;

        }

        delegate void UpdateLabel(Label lbl, string value);
        void UpdateDataLabel(Label lbl, string value)
        {
            lbl.Text = value;
        }

        private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            DateTime currentTime = DateTime.Now;
            DateTime userTime = dateTimePicker.Value;
            if (currentTime.Hour == userTime.Hour && currentTime.Minute == userTime.Minute && currentTime.Second == userTime.Second)
            {
                timer.Stop();
                try
                {
                    UpdateLabel upd = UpdateDataLabel;
                    if (lblStatus.InvokeRequired)
                        Invoke(upd, lblStatus, "STOP");
                    SoundPlayer player = new SoundPlayer();
                    player.SoundLocation = @"C:\Programmeren in C Sharp\Projecten\ClockAlarm\Electric Six - Danger! High Voltage.wav";
                    player.PlayLooping();
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void bttnStart_Click(object sender, EventArgs e)
        {
            timer.Start();
            lblStatus.Text = "Programma is lopende ...";
        }

        private void bttnStop_Click(object sender, EventArgs e)
        {
            timer.Stop();
            lblStatus.Text = "Programma gestopt door de gebruiker.";
        }
    }
}
当我启动程序时,没问题。
警报响起时,我单击“停止”,但音乐仍在播放。
我可以输入来自bttnStop_Click的最后几行:
player.Stop();
但是,当我尝试使用该程序时,程序会自动尝试将SoundPlayer插入播放器。
我的问题,
当我单击“停止”时,如何停止音乐播放。

亲切的问候,直到下一次。

让代码!

Wim。
 
由主持人最后编辑:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,500
地点
弗吉尼亚州切萨皮克
编程经验
10+
我们的OP有时间学习诸如范围之类的C#基础知识,因为它们显然跳过了它,直接进入WinForms编程。
 
最佳 底部