В этой статье мы рассмотрим более гибкую возможность, которая основывается на использовании проигрывателя 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.
Рисунок 1. Choose Items в окне Toolbox.
Во вкладке COM находим «Windows Media Player» и выбираем его.
Рисунок 2. «Windows Media Player» во вкладке COM.
Теперь Windows Media Player появился в окне Toolbox.
Рисунок 3. Windows Media Player в окне Toolbox.
Перетягиваем его на форму. Затем кликаем Properties.
Рисунок 4. Windows Media Player, перетянутый на форму.
Здесь мы выставляем режим None, задаем имя файла, указываем параметры «растягивать по размеру экрана» и «автозапуск».
Счетчик воспроизведения — 1, громкость — на ваше усмотрение.
Рисунок 5. Свойства проигрователя Windows Media Player.
Щелкаем по вкладке «Дополнительно» и выставляем все с соответствии параметрами на рисунке 6.
Рисунок 6. Свойства проигрователя Windows Media Player: вкладка Дополнительно.
В Properties элемента WMP (Windows Media Player) ставим свойство Dock в Fill.
Рисунок 7. Свойству Dock присваевается значение Fill.
Создаем обработчик события 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
Then select windows form application and set a name as you want and press ok
When you click ok the below interface will be open
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
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
As you can see below the windows media player is loaded in the toolbox
Drag the windows media player and just drop on the form and set the alignment of the 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
Then I take a button from the toolbox for choosing those files so the text of the button I set choose file
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
A file open dialog will be open for file selection. Select files and press open
The files will be added in the listbox and when you click on the file it will play In windows media 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 в. Система лоток опирается в основном из вышеуказанных событий, которые будут завершены, но пункт меню правой кнопки мыши не совершен достаточно, а затем он должен быть написано.
Даже весь самые основной аудиоплеер написано, основная функция может быть реализована, и цикл игрока, список воспроизведения синхронизации, дисплей панели громкости, а индикатор будут оптимизированы.