Windows forms windows media player

В этой статье мы рассмотрим более гибкую возможность, которая основывается на использовании проигрывателя WindowsMediaPlayer. С его помощью мы сможем проигрывать файлы любых форматов, поддерживаемых WindowsMediaPlayer. Кроме того, данный способ почти полностью избавляет нас от ручного написания соответствующего кода.


Что ж, первым делом следует создать обычную форму. Затем, поместить на неё кнопку выбора целевого медиа-файла:


Подпишемся на событие Click данной кнопки:

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 Sound
{
   public partial class Form1 : Form
   {
      public Form1()
      {
         InitializeComponent();   
      }

   private void Choose_Click(object sender, EventArgs e)
      {
           
      }
   }
}

Пока обработчик Choose_Click оставим пустым. Следующий шаг заключается в добавлении контрола WindowsMediaPlayer на форму. Однако перед этим следует его внести в раздел General панели инструментов. Для этого вызовите контекстное меню раздела General панели инструментов (для этого нажмите в пустой области правую кнопку мыши):


Выберите пункт «Choose Items». Откроется окно для выбора компонент:


Перейдите во вкладку COM Components и поставьте галочку напротив Windows Media Player. Нажмитье кнопку OK. В итоге в разделе General появится контрол Windows Media Player:


Теперь перетащим данный контрол на нашу форму, или просто дважды щелкнем по нему в панели инструментов. Растянем наш проигрыватель по ширине формы:


Во вкладке Properties изменим имя полученного объекта на «WMP».

Как и в прошлой статье, снова добавим на форму контрол OpenFileDialog. Теперь добавим в обработчик нажатия на кнопке всего две строчки кода:

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 Sound
{
   public partial class Form1 : Form
   {
      public Form1()
      {
         InitializeComponent();   
      }
      private void Choose_Click(object sender, EventArgs e)
      {
         if (openFileDialog1.ShowDialog() == DialogResult.OK)
            WMP.URL = openFileDialog1.FileName;
      }
   }
}


Как видите, исходный путь выбранного файла мы помещаем в свойство URL.

Все. Осталось лишь запустить приложение. Как видим, теперь мы можем проигрывать любые мультимедийные файлы и не только звуковые, но и видео. Если вас смущает размер экрана нашего проигрывателя, то во время просмотра фильма дважды щелкните по его изображению и наш проигрыватель развернется в полноэкранный режим.


Взято с skillcoding.com

  • Главная
  • Уроки
  • OpenGL
  • Уроки OpenGL различных тематик
  • Проигрывание видео-заставки в C#

Блоговая публикация пользователя: Flashhell Эта публикация была перенесена из личного блога пользователя в общие разделы уровок сайта.

Проигрывание видео-заставки в C#

В этом уроке вы познакомитесь со способом, который быстро и без лишних усилий позволит проиграть видео на основной форме окна приложения с помощью COM-элемента Windows Media Player.

Создаем новый проект Windows Forms.

Далее необходимо кликнуть правой кнопкой по Toolbox и выбрать Choose Items.

Уроки OpenGL различных тематик: Choose Items в окне Toolbox Рисунок 1. Choose Items в окне Toolbox.
Во вкладке COM находим «Windows Media Player» и выбираем его.

Уроки OpenGL различных тематик: "Windows Media Player" во вкладке COM Рисунок 2. «Windows Media Player» во вкладке COM.
Теперь Windows Media Player появился в окне Toolbox.

Уроки OpenGL различных тематик: Windows Media Player в окне Toolbox Рисунок 3. Windows Media Player в окне Toolbox.

Перетягиваем его на форму. Затем кликаем Properties.

Уроки OpenGL различных тематик: Windows Media Player, перетянутый на форму Рисунок 4. Windows Media Player, перетянутый на форму.
Здесь мы выставляем режим None, задаем имя файла, указываем параметры «растягивать по размеру экрана» и «автозапуск».

Счетчик воспроизведения — 1, громкость — на ваше усмотрение.

Уроки OpenGL различных тематик: Свойства проигрователя Windows Media Player Рисунок 5. Свойства проигрователя Windows Media Player.
Щелкаем по вкладке «Дополнительно» и выставляем все с соответствии параметрами на рисунке 6.

Уроки OpenGL различных тематик: Свойства проигрователя Windows Media Player: вкладка Дополнительно Рисунок 6. Свойства проигрователя Windows Media Player: вкладка Дополнительно.

В Properties элемента WMP (Windows Media Player) ставим свойство Dock в Fill.

Уроки OpenGL различных тематик: Свойству Dock присваевается значение Fill Рисунок 7. Свойству Dock присваевается значение Fill.

Создаем обработчик события PlayStateChange (двойным щелчком по нему).

Уроки OpenGL различных тематик: Обработчик события PlayStateChange Рисунок 8. Обработчик события PlayStateChange.

В нем вписываем следующее:

Код:

/*http://esate.ru, Flashhell*/


// прописываем код, чтобы убрать элемент WMP с формы, когда видео закончится
// newState, когда воспроизведение файла заканчивается, получает значение 8
if (e.newState == 8){
        this.axWindowsMediaPlayer1.close(); // закрываем сам плеер, чтобы все ресурсы освободились
        this.Controls.Remove(axWindowsMediaPlayer1); // убираем элемент WMP с формы
}

Готово, однако для полноценного использования нужен Full Screen режим отображения формы, так как если выставить его в настройка WMP, он начнет обрабатывать двойной щелчок с явными багами и ошибками.

Например, видео останавливается, а сам плеер возвращается к стандартным размерам, которые были установлены при инициализации.

Более подробно с этими деталями можно ознакомиться в статье о

полноэкранном режиме

.

Опубликовано:
17 декабря 2010

Последние изменения:
19 июня 2017

Комментарии:
1

Нет доступа к просмотру комментариев.

Description:

Creating C# Mp3 Player Using Windows Media Player:- Hello, guys welcome once again in this article I will show you how to make a simple C# mp3 player using a windows media player with the help of your c# windows form application.

So let’s get started

First, of all click on the new project

Mp3 player

Then select windows form application and set a name as you want and press ok

Mp3 player

When you click ok the below interface will be open

Mp3 player

How to load windows media player items:

If you do not have the windows media player items in your toolbox for that simply right in the toolbox area and click on choose item

Mp3 player

When you click on choose items a new window will be open in that window click on COM Components tab, select windows media player, and press ok

Mp3 player

As you can see below the windows media player is loaded in the toolbox

Mp3 player

Drag the windows media player and just drop on the form and set the alignment of the player

Mp3 player

I will use a list box from the toolbox so I will drag and drop the listbox for choosing the list of the mp3 files

Mp3 player

Then I take a button from the toolbox for choosing those files so the text of the button I set choose file

Mp3 player

The button is using for choosing the playlist and the listbox will show the playlist of the songs and when you select any one song from the listbox it should play in the windows media player.

C# Mp3 Player Programming:

Once you have done the designing part just double click on choose file button.

First of all, declare two global variables  which are a string  array type

Then paste the below code in the button section

OpenFileDialog openFile=new OpenFileDialog();

openFile.Multiselect = true;

if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

   files = openFile.SafeFileNames;

   paths = openFile.FileNames;

   for (int i = 0; i < files.Length; i++)

   {

    listBox1.Items.Add(files[i]);

   }

}

Code Explanation:

OpenFileDialog openFile=new OpenFileDialog();

First, i declare the openFileDialog for opening the dialogbox for selection files from the drive.

openFile.Multiselect = true;

This code is used for the multiple files section

Then I set a condition to check if the

openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK so save the name of the

file in a files = openFile.SafeFileNames;

files variable which we declared in the top. And save the full path of the file in the path variable by using the below  statement

paths = openFile.FileNames 

Then I use for loop to add the songs in the listbox

for (int i = 0; i < files.Length; i++)

   {

    listBox1.Items.Add(files[i]);

   }

Then double click on listbox and paste the below code

axWindowsMediaPlayer1.URL = paths[listBox1.SelectedIndex];

axWindowsMediaPlayre1 it is the name of the media player which I used in my application for making mp3 player

axWindowsMediaPlayer1.URL = paths[listBox1.SelectedIndex];

so write the above one-line code and this one-line code what is doing is it’s whatever file or whatever name you will choose in your list box it will copy that list or the path of that file into your window media player.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace MyMp3Player

{

    public partial class Form1 : Form

    {

        string[] files, paths;

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            OpenFileDialog openFile=new OpenFileDialog();

            openFile.Multiselect = true;

            if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                files = openFile.SafeFileNames;

                paths = openFile.FileNames;

                for (int i = 0; i < files.Length; i++)

                {

                    listBox1.Items.Add(files[i]);

                }

            }

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

            axWindowsMediaPlayer1.URL = paths[listBox1.SelectedIndex];

        }

    }

}

Output:

Click on choose file

Mp3 player

A file open dialog will be open for file selection. Select files and press open

Mp3 player

The files will be added in the listbox and when you click on the file it will play In windows media player

Mp3 player

Related Article:

C# Windows Forms Application: How to create First Window Form Application in C#

Windows Media Player — это медиаплеер, разработанный компанией Microsoft, который позволяет воспроизводить аудио и видеофайлы на операционных системах Windows. Однако, иногда может возникнуть необходимость создания собственного аудио/видеоплеера с дополнительными функциями, такими как пользовательский интерфейс, проигрывание плейлиста, управление воспроизведением и другие возможности.

Язык программирования C# и WinForms

Для создания своего собственного аудио/видеоплеера, мы будем использовать язык программирования C# (произносится «Си шарп») и WinForms (Windows Forms). C# является объектно-ориентированным языком программирования, разработанным компанией Microsoft, и широко используется для разработки приложений под платформу .NET. WinForms — это графическая библиотека, предоставляемая .NET Framework, которая позволяет создавать оконные приложения для операционных систем Windows.

Создание проекта

Для начала создадим новый проект в среде разработки Visual Studio. Откройте Visual Studio, выберите пункт «Создать новый проект» и выберите тип проекта «Windows Forms приложение».

Добавление Windows Media Player

Чтобы использовать возможности Windows Media Player в нашем приложении, нам необходимо добавить элемент управления WindowsFormsHost в основную форму приложения. Этот элемент управления позволяет встроить обычные элементы Windows Forms в окна WPF (Windows Presentation Foundation).

Для добавления WindowsFormsHost откройте окно «Дизайнер формы» и перетащите элемент WindowsFormsHost на форму приложения. Затем установите свойство Child элемента WindowsFormsHost как new AxWMPLib.AxWindowsMediaPlayer(). AxWMPLib — это пространство имен, содержащее классы, связанные с Windows Media Player.

Подключение библиотеки Windows Media Player

Чтобы использовать функции Windows Media Player, нам необходимо добавить ссылку на библиотеку в наш проект. Щелкните правой кнопкой мыши на проекте в обозревателе решений, выберите «Добавить» и выберите «Ссылку…». Затем выберите «Обзор» и найдите файл «wmplib.dll», который обычно находится в папке «c:\Windows\SysWow64». Ссылка на библиотеку будет автоматически добавлена к проекту.

Программирование функциональности плеера

Теперь давайте перейдем к программированию функциональности нашего плеера. В основном, мы будем использовать методы и свойства класса AxWindowsMediaPlayer, чтобы управлять воспроизведением аудио/видеофайлов.

Давайте рассмотрим несколько примеров кода:

// Создание экземпляра плеера
AxWMPLib.AxWindowsMediaPlayer player = new AxWMPLib.AxWindowsMediaPlayer();

// Загрузка файла в плеер
player.URL = "C:\\music\\song.mp3";

// Воспроизведение файла
player.Ctlcontrols.play();

// Поставить на паузу
player.Ctlcontrols.pause();

// Остановить воспроизведение
player.Ctlcontrols.stop();

Помимо простого воспроизведения, вы можете также использовать другие методы и свойства плеера, такие как задание громкости, перемотка вперед/назад, установка позиции воспроизведения, включение/выключение авторепродукции и т.д.

Кастомизация пользовательского интерфейса

Кроме основной функциональности плеера, мы также можем создать пользовательский интерфейс с помощью элементов управления WinForms, таких как кнопки, ползунки, текстовые поля и т.д. Для каждого элемента управления вы можете назначить соответствующие действия, используя обработчики событий.

Например, вы можете создать кнопку «Открыть файл» и назначить ей обработчик события, который будет предлагать пользователю выбрать файл для воспроизведения. Вы также можете создать ползунок для управления громкостью и обновлять значение громкости плеера при изменении положения ползунка.

Заключение

Создание своего собственного аудио/видеоплеера на языке C# и с использованием WinForms может быть интересным проектом для изучения возможностей Windows Media Player и программирования на .NET. Вы можете добавить свои собственные функции и кастомизировать пользовательский интерфейс в соответствии с вашими потребностями.

Написать небольшой проект в летние каникулы, и в школу, и вы не можете успокоиться код. Дизайн интерфейса всей программы относится к «проекту Winform реальных боевых действий». Эта статья только основные функции аудио-плеер, который будет продолжать улучшать другие функции.

После создания завершено, добавить элемент управления WMP (WindowsMediaPlayer), откройте панель инструментов, справа -> Выбрать пункт -> COM Components -> Проверьте управление WMP.

После завершения добавления, вы можете найти элемент управления WMP в панели инструментов и добавить его в окно. Так как мы должны написать различные операции проигрывателя, вам необходимо изменить управление, удалить законтрактованные кнопки управления.

Выберите элемент управления WMP -> правая кнопка -> Свойства -> Общие -> Выбор режима: Тем не> Параметры воспроизведения: Рынок растяжку -> Volume Settings: Maximum; Advanced -> Enable Control (Disabled); Полная Настройки, вернитесь к интерфейсу, контроль целом WMP отображает только видео рядом к следующему элементу управления, можно начать добавлять кнопки, индикаторы выполнения и списков воспроизведения.

private void tsmiOpenFile_Click(object sender, EventArgs e)
{
         // Файл Диалог Начальный путь
         This.odlgfile.initialdirectory = @ "f: \ music";
         // Условия фильтрации файлов
         Ithodlgfile.filter = "Media files | * .mp3; *. WAV; *. WMA; *. AVI; *. MPG; *. ASF; *. WMV";
    if(odlgFile.ShowDialog()==DialogResult.OK)
    {
                 // Несколько файлов присоединяются к списку воспроизведения один за другим
        for(int i = 0; i < odlgFile.FileNames.Length; i++)
        {
            string filePath = odlgFile.FileNames[i];
                         // деконтируйте существование в плейлисте, в противном случае пропускаем дополнение
            if (!IsExistInList(filePath))
            {
                SongsInfo songsInfo = new SongsInfo(filePath);
                lstSongList.Items.Add(songsInfo);
            }
            else
                continue;
        }
    }
}

В то же время, импортировать несколько звуковых файлов в список воспроизведения Необходимость Обратите внимание, что вы хотите сказать multielect настройки OpenFileDialog на TRUE.

В-четвертых, создание информационных песня классов (SongsInfo)

После программы импорта песни, мы , очевидно , должны получить и хранить различную информацию для каждой песни , так что вы должны быть в состоянии прочитать его сразу, поэтому новый класс SongsInfo здесь (название песни, путь, певица и т.д.)

Код класса SongsInfo выглядит следующим образом:

using Shell32;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SimpleMediaPlayer
{
    class SongsInfo
    {
        private string fileName;    //1
        private string filePath;
        private string filesize;    //2
        private string artist;      //13
        private string album;       //14
        private string year;        //15
        private string originName;  //21
        private string duration;     //27
        private string byteRate;    //28

        public string FileName { get => fileName; set => fileName = value; }
        public string FilePath { get => filePath; set => filePath = value; }
        public string Filesize { get => filesize; set => filesize = value; }
        public string Artist { get => artist; set => artist = value; }
        public string Album { get => album; set => album = value; }
        public string Year { get => year; set => year = value; }
        public string OriginName { get => originName; set => originName = value; }
        public string Duration { get => duration; set => duration = value; }
        public string ByteRate { get => byteRate; set => byteRate = value; }

        public SongsInfo(string fPath)
        {
            SetSongInfo(fPath);
        }

        public void SetSongInfo(string strPath)
        {
            try
            {
                ShellClass sh = new ShellClass();
                Folder dir = sh.NameSpace(Path.GetDirectoryName(strPath));
                FolderItem item = dir.ParseName(Path.GetFileName(strPath));

                fileName = dir.GetDetailsOf(item, 0);
                if (fileName == string.Empty)
                                         Имя файла = "неизвестно";

                FilePath = strPath;

                filesize = dir.GetDetailsOf(item, 1);
                if (filesize == string.Empty)
                                         Filesize = "неизвестен";

                artist = dir.GetDetailsOf(item, 13);
                if (artist == string.Empty)
                                         Артист = «неизвестный»;

                album = dir.GetDetailsOf(item, 14);
                if (album == string.Empty)
                                         Альбом = "неизвестный";

                year = dir.GetDetailsOf(item, 15);
                if (year == string.Empty)
                                         Год = «неизвестный»;

                OriginName = dir.GetDetailsOf(item, 21);
                if (OriginName == string.Empty)
                                         Originname = «неизвестно»;

                duration = dir.GetDetailsOf(item, 27);
                if (duration == string.Empty)
                                         Длительность = «неизвестно»;

                byteRate = dir.GetDetailsOf(item, 28);
                if (byteRate == string.Empty)
                                         Byterate = «неизвестный»;
                
                                 // выходной контент на консоль на вашем собственном представлении
                //for (int i = -1; i < 50; i++)
                //{
                //    string str = dir.GetDetailsOf(item, i);
                //    Console.WriteLine(i + " && " + str);
                //}
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
    }
}

В этом классе мы используем shellclass, чтобы получить свойство файла (хотя я также пробовал другие методы, если вы будете читать информацию, хранящуюся в последних 128 байтах файла MP3, попытаться добиться успеха в течение длительного времени, ShellClass относительно прост)

1 Первые отображения COM компоненты

Откройте Проводник Solution -> Цитата -> Add Reference -> COM-> Type Library -> Проверка элементов управления Microsoft Shell и автоматизации;

2 Установите встроенный совместимость тип Shell32, в противном случае тип взаимодействия является ненормальным.

Выберите Shell32 Ссылка -> Свойства -> Параметры встроенных типов (InteroperabilityEmbed Interop Type) Для FALSE;

Хочет получить другую информацию о файле, есть много информации в Интернете.

Пять, структура формы и событие НАГРУЗКИ

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SimpleMediaPlayer
{
    public partial class Form1 : Form
    {
        AxWMPLib.AxWindowsMediaPlayer testAWM = new AxWMPLib.AxWindowsMediaPlayer();
        SongsInfo currPlaySong = new SongsInfo(null);

        public Form1()
        {
            InitializeComponent();
                         / / Доверяйте событие статуса воспроизведения WMP
            testAWM.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(AxWmp_PlayStateChange);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.odlgFile.Multiselect = true;
                         // Установите элемент дисплея и значение LSTSongList (связывание данных Listbox)
            lstSongList.DisplayMember = "fileName";
            lstSongList.ValueMember = "filePath";
            ReloadStatus();
        }

        private void ReloadStatus()
        {
            txtSongName.Text = "Windows Media Player";
            txtTime.Text = "00:00/00:00";
                         TSSLCurrentPlayState.Text = «готов»;
            tkbVol.Value = tkbVol.Maximum / 2;
                         Lbvolumeval.text = "Volume:";
            tkbMove.Value = 0;
                         // Выбор по умолчанию Первый трек
            if(lstSongList.Items.Count>0 && lstSongList.SelectedIndex== -1)
            {
                lstSongList.SelectedIndex = 0;
            }
        }
    }

Шесть, плейлист

// Проверьте плейлист
private bool IsExistInList(string path)
{
    for(int i = 0; i < lstSongList.Items.Count; i++)
    {
        if(path == ((SongsInfo)lstSongList.Items[i]).FilePath)
            return true;
    }
    return false;
}

 // Строгительный ящик мыши Дважды щелчок
private void lstSong_MouseDoubleClick(object sender, MouseEventArgs e)
{
    int index = lstSongList.IndexFromPoint(e.Location);
    if (index != ListBox.NoMatches)
        Play(index);
}

Затем необходимо улучшить дополнительные функции (подробности см, дисплей Оптимизировать информацию песни вида, меню правой кнопки мыши, и т.д.)

Семь, операция игры

// Играть в
private void btnPlay_Click(object sender, EventArgs e)
{
    if (lstSongList.SelectedIndex >= 0)
    {
        Play(lstSongList.SelectedIndex);
    }
    else
                 Messagebox.show («Пожалуйста, выберите дорожку, которую вы хотите играть»);
    }
}

 //Пауза                 
private void btnPause_Click(object sender, EventArgs e)
{
    AxWmp.Ctlcontrols.pause();
}

 //останавливаться 
private void btnStop_Click(object sender, EventArgs e)
{
    AxWmp.Ctlcontrols.stop();
}

 // предыдущий кусок
private void btnBack_Click(object sender, EventArgs e)
{
    if(lstSongList.SelectedIndex == -1)
    {
                 Messagebox.show («Пожалуйста, добавьте путь к каталогу»);
    }
    else if(lstSongList.SelectedIndex > 0)
    {
        AxWmp.Ctlcontrols.stop();
        lstSongList.SelectedIndex -= 1;
        Play(lstSongList.SelectedIndex);
    }
    else
    {
        AxWmp.Ctlcontrols.stop();
        lstSongList.SelectedIndex = lstSongList.Items.Count - 1;
        Play(lstSongList.SelectedIndex);
    }
}

 // следующий трек
 private void btnNext_Click(object sender, EventArgs e)
{
    if (lstSongList.SelectedIndex == -1)
    {
                 Messagebox.show («Пожалуйста, добавьте путь к каталогу»);
    }
    else if (lstSongList.SelectedIndex < lstSongList.Items.Count-1)
    {
        AxWmp.Ctlcontrols.stop();
        lstSongList.SelectedIndex += 1;
        Play(lstSongList.SelectedIndex);
    }
    else
    {
        AxWmp.Ctlcontrols.stop();
        lstSongList.SelectedIndex = 0;
        Play(lstSongList.SelectedIndex);
    }
}

private void Play(int index)
{
         // Измените путь воспроизведения в дополнение к реанимации воспроизведения
    if (AxWmp.playState.ToString() != "wmppsPaused")      
    {
        currPlaySong = (SongsInfo)lstSongList.Items[index];
        AxWmp.URL = currPlaySong.FilePath;
        AxWmp.Ctlcontrols.play();
    }
    else
    {
         AxWmp.Ctlcontrols.play();
    }
}

Более дружественный дисплей требует воспроизведения и паузы ключа интеграции и Включить свойство кнопки управления автоматически обновляется в соответствии с текущим состоянием программы, то идеальным

8. Таймер и индикатор, регулятор громкости бар

private void timerPlay_Tick(object sender, EventArgs e)
{
    string currPlayTime = null;
    currPlayTime = AxWmp.Ctlcontrols.currentPositionString;
    txtTime.Text = currPlayTime + "/" + currPlaySong.Duration.Remove(0, 3);
    tkbMove.Value = (int)AxWmp.Ctlcontrols.currentPosition;
}

 // Событие изменений объема полосы
private void tkbVol_ValueChanged(object sender, EventArgs e)
{
    AxWmp.settings.volume = tkbVol.Value;
    lbVolumeVal.Text = tkbVol.Value.ToString() + "%";
}

 // Мышь подвешена на панели тома, измените значение громкости отображения метки.
private void tkbVol_MouseHover(object sender, EventArgs e)
{
    lbVolumeVal.Text = tkbVol.Value.ToString() + "%";
}

 // Мышь покидает прокладку громкости и восстанавливает отображение метки.
private void tkbVol_MouseLeave(object sender, EventArgs e)
{
         Lbvolumeval.text = "Volume:";
}

 // событие зачистки прогресса
private void tkbMove_Scroll(object sender, EventArgs e)
{
    AxWmp.Ctlcontrols.currentPosition = (double)this.tkbMove.Value;
}

Это временно грубо, она может достичь основных функций, а затем продолжают улучшаться (объем бара щелкнув всплывающий, прогресс бар, перемотка вперед, отступление и т.д.)

Девять, игрок изменить статус события

private void AxWmp_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
         //Console.writeline («Изменение состояния»);
    //Console.WriteLine(e.newState.ToString());
    switch (e.newState)
    {
        case 0:    // Stopped
                         TSSLCurrentPlayState.Text = «неизвестный статус»;
            break;
        case 1:    // Stopped
                         TSSLCurrentPlayState.Text = «Стоп»;
            timerPlay.Stop();
            ReloadStatus();
            break;
        case 2:    // Paused
                         TsslcurrentPlaystate.text = "Pause";
            timerPlay.Stop();
            break;
        case 3:    // Playing
                         TsslcurrentPlaystate.text = "Play";
            timerPlay.Start();
            txtSongName.Text = currPlaySong.FileName;
            txtTime.Text = "00:00/" + currPlaySong.Duration.Remove(0, 3);
            tkbMove.Maximum = (int)AxWmp.currentMedia.duration;
            break;
        case 4:    // ScanForward
            tsslCurrentPlayState.Text = "ScanForward";
            break;
            case 5:    // ScanReverse
            tsslCurrentPlayState.Text = "ScanReverse";
            break;
        case 6:    // Buffering
                         TsslcurrentPlaystate.text = "буферизованный";
            break;
        case 7:    // Waiting
            tsslCurrentPlayState.Text = "Waiting";
            break;
        case 8:    // MediaEnded
            tsslCurrentPlayState.Text = "MediaEnded";
            break;
        case 9:    // Transitioning
                         TsslcurrentPlaystate.text = "connect";
            break;
        case 10:   // Ready
                         TSSLCurrentPlayState.Text = «готов»;
            break;
        case 11:   // Reconnecting
            tsslCurrentPlayState.Text = "Reconnecting";
            break;
        case 12:   // Last
            tsslCurrentPlayState.Text = "Last";
            break;
        default:
            tsslCurrentPlayState.Text = ("Unknown State: " + e.newState.ToString());
            break;
    }
}

В разных штатах, то лучше положить его в структуре так, потому что, когда это происходит, игрок на самом деле в этом состоянии. Эта часть частично разделена, и после получения нескольких состояний игрока, они будут дополнены.

Десять, системный трей

// Системный лоток Дважды щелчок
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
    this.Visible = true;
    notifyIcon1.Visible = false;
    this.WindowState = FormWindowState.Normal;
}

 // Размер окна Изменить событие
private void Form1_SizeChanged(object sender, EventArgs e)
{
    if(this.WindowState == FormWindowState.Minimized)
    {
        this.Visible = false;
        notifyIcon1.Visible = true;
    }
}

 / / / Щелкните правой кнопкой мыши меню Отображение главного интерфейса Нажмите событие        
private void tsmiOpenForm_Click(object sender, EventArgs e)
{
    this.Visible = true;
    notifyIcon1.Visible = false;
    this.WindowState = FormWindowState.Normal;
}

 / / / Щелкните правой кнопкой мыши меню EXIT CLICK
private void tsmiQuit_Click(object sender, EventArgs e)
{
    this.Close();
}

 // необходимо вручную отпустить ресурсы Notif после закрытия программы, в противном случае значок системного лотка выполнен.
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    notifyIcon1.Dispose();
}

Значок в системном трее устанавливается в атрибуте иконы в NotifyIcon пространства, и не Контекстный добавить пункта (показать главный интерфейс TSMiopenForm, выход TSMiquit) и связывается с контролем NotifyIcon через свойство ContextMenuStrip NotifyIcon в. Система лоток опирается в основном из вышеуказанных событий, которые будут завершены, но пункт меню правой кнопки мыши не совершен достаточно, а затем он должен быть написано.

Даже весь самые основной аудиоплеер написано, основная функция может быть реализована, и цикл игрока, список воспроизведения синхронизации, дисплей панели громкости, а индикатор будут оптимизированы.

  • Windows form как открыть панель элементов
  • Windows forms string to int
  • Windows forms как открыть toolbox
  • Windows forms serial port c
  • Windows forms open new form