Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/173: Рейтинг темы: голосов - 173, средняя оценка - 4.97
1 / 1 / 0
Регистрация: 13.03.2012
Сообщений: 78

Создать плеер хотя бы с кнопкой "открыть" "играть" и с TrackBar для проигрывания mp3

19.04.2012, 19:54. Показов 38221. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне требуется создать плеер, я смотрел исходники, но они мне не подходят.
Прошу помочь создать плеер хотя бы с кнопкой "открыть" "играть" и с TrackBar для проигрывания mp3
Заранее спасибо
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2012, 19:54
Ответы с готовыми решениями:

Свой плеер для проигрывания видео
Добрый день. На данный момент я понял, что можно сделать плеер через html5 (и он будет без проблем проигрываться во всех браузерах в том...

Библиотека для проигрывания MP3
Всем доброго времени суток. Не могли бы подсказать библиотеку для воспроизведения mp3? Интересует, чтобы в ней была возможность...

Нужен плеер на сайт для проигрывания интернет-радио
Хочу на сайт запилить плеер с плейлистом нескольких инет-радио. http://lovi.fm/embed/ - вот что-то типа такого, чтобы можно было выбирать...

35
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
07.07.2012, 15:13
Студворк — интернет-сервис помощи студентам
_lunar_,
C#
1
wmp.settings.volume = trackBar2.Value * 10;
1
07.07.2012, 15:18

Не по теме:

Yukikaze, это ясно, просто человеку хотел показать для наглядности, а уж реализация это дело второе.

0
4 / 4 / 0
Регистрация: 18.06.2012
Сообщений: 101
07.07.2012, 20:52
благодарю
0
0 / 0 / 0
Регистрация: 21.06.2015
Сообщений: 1
02.11.2015, 19:54
Цитата Сообщение от _lunar_ Посмотреть сообщение
диапазон громкости в wmp.dll находится от 0 до 100 http://msdn.microsoft.com/en-u... 85%29.aspx
C#
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
private void trackBar2_Scroll(object sender, EventArgs e)
{
    if (trackBar2.Value == 10)
        wmp.settings.volume = 100;
    if (trackBar2.Value == 9)
        wmp.settings.volume = 90;
    if (trackBar2.Value == 8)
        wmp.settings.volume = 80;
    if (trackBar2.Value == 7)
        wmp.settings.volume = 70;
    if (trackBar2.Value == 6)
        wmp.settings.volume = 60;
    if (trackBar2.Value == 5)
        wmp.settings.volume = 50;
    if (trackBar2.Value == 4)
        wmp.settings.volume = 40;
    if (trackBar2.Value == 3)
        wmp.settings.volume = 30;
    if (trackBar2.Value == 2)
        wmp.settings.volume = 20;
    if (trackBar2.Value == 1)
        wmp.settings.volume = 10;
    if (trackBar2.Value == 0)
        wmp.settings.volume = 0;
}
в прикреплённых обновлённый плеер вместе с библиотекой taglib-sharp.dll, перемещать можно не только за рамку окна, но и за само окно.
Есть кто живой?
Помогите вставить сюда плейлист, пожалуйста
0
0 / 0 / 0
Регистрация: 11.08.2015
Сообщений: 1
23.12.2015, 16:31
Подскажите пожалуйста как построить огибающую имеющегося трека с возможностью перескакивать по времени?
0
23.12.2015, 16:38

Не по теме:

а какие форматы поддерживает wmp? наверняка только самые простые типа wav, а mp3 уже нет, а видео? 3gp поддерживает? mp4?

0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
24.12.2015, 00:50
Цитата Сообщение от Volrajas Посмотреть сообщение
а какие форматы поддерживает wmp?
https://support.microsoft.com/en-us/kb/316992

Цитата Сообщение от Mityanin Посмотреть сообщение
как построить огибающую имеющегося трека с возможностью перескакивать по времени?
не совсем понял чего вы хотите
0
0 / 0 / 1
Регистрация: 19.12.2016
Сообщений: 43
05.03.2017, 17:54
_lunar_
В твоём исходнике есть код, чтобы показывал текущую позицию (время) воспроизведения, а как сделать обратный отсчёт?

например:
общая продолжительность - "00:05:24"
текущее - "-00:02:12" (отсчёт от общей продолжительности до "00:00:00")
0
16 / 9 / 1
Регистрация: 16.11.2021
Сообщений: 115
Записей в блоге: 3
11.02.2022, 00:05
Извините пожалуйста, что опоздал на 3 года с вопросом. Все получается почти, включать музыку, выключать, регулировать громкость получается. При нажатии кнопки плей выбирается рандомная песня. Кнопка стоп работает. Но когда песня доиграла, то все. Следующая не играет. А как сделать, что если никто не нажимает кнопку, чтобы играла следующая песня?

C#
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
public WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer();
 
        private void button_Play_Click(object sender, EventArgs e)
        {
            // высосал весь мозг. А оказалось надо в дебаг положить.
                var a = @"C:\Users\Lesnik\source\repos\Game15 - Для опытов\Game15\bin\Debug\1.wav";
                var a1 = WMP.URL = @"C:\Users\Lesnik\source\repos\Game15 - Для опытов\Game15\bin\Debug\2.wav";
                var a2 = WMP.URL = @"C:\Users\Lesnik\source\repos\Game15 - Для опытов\Game15\bin\Debug\3.wav";
                var a3 = WMP.URL = @"C:\Users\Lesnik\source\repos\Game15 - Для опытов\Game15\bin\Debug\4.wav";
                var j = "";
                Random dise = new Random();
                int roll = dise.Next(0, 5);
                switch (roll)
                {
                    case 1:
                        WMP.URL = a;
                        break;
                    case 2:
                        WMP.URL = a1;
                        break;
                    case 3:
                        WMP.URL = a2;
                        break;
                    case 4:
                        WMP.URL = a3;
                        break;
                }
                WMP.controls.play();
                WMP.settings.volume = 10;
        }
 
        private void button_Stop_Click(object sender, EventArgs e)
        {
            WMP.controls.stop();
            WMP.close();
        }
 
        private void trackBar1_Scroll(object sender, EventArgs e)
            //регулировка громкости. Можно еще через свитч попробовать.
        {
            /*
            if (trackBar1.Value == 10)
                WMP.settings.volume = 100;
            if (trackBar1.Value == 9)
                WMP.settings.volume = 90;
            if (trackBar1.Value == 8)
                WMP.settings.volume = 80;
            if (trackBar1.Value == 7)
                WMP.settings.volume = 70;
            if (trackBar1.Value == 6)
                WMP.settings.volume = 60;
            if (trackBar1.Value == 5)
                WMP.settings.volume = 50;
            if (trackBar1.Value == 4)
                WMP.settings.volume = 40;
            if (trackBar1.Value == 3)
                WMP.settings.volume = 30;
            if (trackBar1.Value == 2)
                WMP.settings.volume = 20;
            if (trackBar1.Value == 1)
                WMP.settings.volume = 10;
            if (trackBar1.Value == 0)
                WMP.settings.volume = 0;
            */
 
            switch (trackBar1.Value)
            {
                case 10: WMP.settings.volume = 100;
                    break;
                case 9:
                    WMP.settings.volume = 90;
                    break;
                case 8:
                    WMP.settings.volume = 80;
                    break;
                case 7:
                    WMP.settings.volume = 70;
                    break;
                case 6:
                    WMP.settings.volume = 60;
                    break;
                case 5:
                    WMP.settings.volume = 50;
                    break;
                case 4:
                    WMP.settings.volume = 40 ;
                    break;
                case 3:
                    WMP.settings.volume = 30;
                    break;
                case 2:
                    WMP.settings.volume = 20;
                    break;
                case 1:
                    WMP.settings.volume = 10;
                    break;
            }
        }
0
jump
 Аватар для I can
5005 / 4769 / 852
Регистрация: 13.04.2015
Сообщений: 10,017
11.02.2022, 07:14
Leshakk, вот ВЕСЬ код, замени им свой. Только на форму еще таймер положи
C#
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
46
47
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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
        }
 
        public WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer();
        private void button_Play_Click(object sender, EventArgs e)
        {
            Random dise = new Random();
            string[] a = System.IO.Directory.GetFiles(Application.StartupPath, "*.wav");
            WMP.URL = a[dise.Next(0, a.Length)];
            trackBar1.Value = 5;
            WMP.settings.volume = trackBar1.Value * 10;
            timer1.Start();
        }
 
        private void button_Stop_Click(object sender, EventArgs e)
        { WMP.controls.stop(); timer1.Stop(); Text = ""; }
 
        private void trackBar1_Scroll(object sender, EventArgs e)
           {  WMP.settings.volume = trackBar1.Value*10;}
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            Text = WMP.status.ToString();
            if (Text == "Остановлено") button_Play_Click(null,null);
        }
 
 
        }
 
 
    }
1
16 / 9 / 1
Регистрация: 16.11.2021
Сообщений: 115
Записей в блоге: 3
16.02.2022, 21:12
Добрый день, сделал все отлично! Заработало сходу. Спасибо!!!
Удивился как громкость регулируется одной строчкой кода.
Буду разбирать весь код, как устроен.
На сразу сходу ступор, не могу понять, что делает таймер? И еще более непонятно...что делает слово "Остановлен"
0
jump
 Аватар для I can
5005 / 4769 / 852
Регистрация: 13.04.2015
Сообщений: 10,017
16.02.2022, 21:28
Цитата Сообщение от Leshakk Посмотреть сообщение
что делает таймер? И еще более непонятно...что делает слово "Остановлен"
Таймер отслеживает статус плеера. Когда заканчивается трек, плеер выдаёт статус "Остановлено", и программа запускает следующий.
2
16 / 9 / 1
Регистрация: 16.11.2021
Сообщений: 115
Записей в блоге: 3
13.04.2022, 16:51
Александр, ну если будет время и настроение, взгляните пожалуйста на вот это вот.
https://www.cyberforum.ru/blog... g7465.html
Разобрал ваш код полностью, с большим трудом. Столько нового прочитал и нашел.
Правильно ли там все написано? Или я понял не то и не так?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
14.04.2022, 09:40
Цитата Сообщение от Leshakk Посмотреть сообщение
Удивился как громкость регулируется одной строчкой кода.
в 2012 Yukikaze уже давал код на одну строчку - Создать плеер хотя бы с кнопкой "открыть" "играть" и с TrackBar для проигрывания mp3

Цитата Сообщение от Leshakk Посмотреть сообщение
Разобрал ваш код полностью, с большим трудом. Столько нового прочитал и нашел.
WMP полностью документирована, поэтому сперва нужно читать спецификацию, а уже потом садиться за код.
и тогда разбор кода будет простейшим делом.
0
16 / 9 / 1
Регистрация: 16.11.2021
Сообщений: 115
Записей в блоге: 3
14.04.2022, 18:29
Так именно с официальной документации и начинал.
https://docs.microsoft.com/ru-... esktop-4.8
Но в том и заковыка, что там нигде не обьясняется, про русское слово "Остановлено" там везде "Stop". И это наверное Единственное что осталось понять в этом коде.
Откуда там берется русской слово, и как его понимает программа.
Да и вообще, спецификации, какие-то ужатые, они больше рассчитаны, на профессионала, который как в каталог заглянет- в памяти освежить.
А для нубаса, заходишь в спецификацию, чтобы разобрать кусок кода построчно, и начинаешь построчно разбирать саму спецификацию

Про таймер одной строчкой -ага пропустил!
Где было в 10 строк увидел, оно же большое!!!

Добавлено через 5 часов 24 минуты
Все разобрался. Точнее подсказали.
Цитата : "А статус "Остановлено" получается при преобразовании перечисления состояний в строку на русифицированной системе."
Спасибо! ))
0
16 / 9 / 1
Регистрация: 16.11.2021
Сообщений: 115
Записей в блоге: 3
15.04.2022, 10:43
Ткнули носом в эти статусы. Странно что сам не нашел. Значит плохо искал. Долго и упорото -не всегда значит хорошо))
Оставлю ссылки, на оф.документацию, это вроде не запрещено правилами.
https://docs.microsoft.com/ru-... tatechange

https://docs.microsoft.com/en-... 3(v=vs.85)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2022, 10:43

Как настроить плеер для проигрывания треков со своего сайта
Здравствуйте, подскажите можно ли настроить плеер podfm на свой собственный сайт, чтобы воспроизводились mp3 файлы размещенные на...

Посоветуйте музыкальный плеер для проигрывания *.xm файлов с трекерной музыкой
здр. пжл, посоветуйте плеер для проигрывания *.xm файлов с трекерной музыкой в Ubuntu наподобие XMPlayer в Windows'е..

Как создать программу MP3 Плеер
Подскажите возможно ли в делфи создать свой MP3 проигрыватель?

mp3 плеер на сайте, нужно создать плейлист
Всем добрый вечер! Когда-то из шаблонов на "народе" слепил свой сайт, недавно его привёл в божеский вид, опять же обладая самыми...

Free OCX для проигрывания сильно сжатых небольших MP3- файлов
Не подскажете, где можно скачать исходники или работающий Сontrol для проигывания из VB MP3 c низкими битрейтами.Или файл .ACM для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru