Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.61
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
#1

Как сделать фоновую музыку? - C#

13.07.2012, 19:37. Просмотров 9470. Ответов 23
Метки нет (Все метки)

Люди, помогите пожалуйста. Весь интернет перерыл и нашел только один код, который относительно работает, но через несколько секунд программа вылетает. Может посоветуете какой более лаконичный способ добавления музыки? Желательно формата ogg или mp3.

http://www.cyberforum.ru/windows-forms/thread1930760.html
Вот код, которым я пользуюсь:
C#
1
2
3
4
5
private void EasyLog_Form_Load(object sender, EventArgs e)
        {
            System.Media.SoundPlayer sp = new System.Media.SoundPlayer(EasyLog32.Properties.Resources.ambient);
            sp.Play();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2012, 19:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сделать фоновую музыку? (C#):

Как сделать музыку не останавливающейся?
Пытаюсь я сделать бесконечное воспроизведение песни .... WindowsMediaPlayer...

Как осуществить фоновую подгрузку ресурсов?
Необходимо во время загрузки приложения подгружать ресурсы (множество мелких...

Как изменить фоновую картинку PictureBox?
Написал вот такой код, чтобы менять фоновую картинку при наведении. Но картинка...

Как генерировать музыку 8 bit
Нужно создать 8 bit музыку в C# =) Кто поможет, тому печеньку . (музыка...

Как проиграть музыку из Интернета
Как музыку из интернета воспроизвести не скачивая Не нужно задавать свои...

23
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
13.07.2012, 19:49 #2
Вот способ как проигрывать mp3 в программе, но нужно добавлять ссылку на библиотеку WindowsMediaPlayer через COM. Проект >> Добавить ссылку, находишь в разделе COM, WindowsMediaPlayer (wmp.dll) и добавляешь его к проекту.

C#
1
2
3
4
5
6
7
public WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer();
 
            WMP.URL = @"sound.mp3" // файл музыкальный
            WMP.settings.volume = 100; // меняя значение можно регулировать громкость
            WMP.controls.play(); // Старт
            WMP.controls.stop(); // Стоп
            WMP.close();
0
+B
Заблокирован
13.07.2012, 20:25 #3
Вот есть еще такая апишная функция.
C#
1
2
              private static extern long mciSendString(string strCommand, StringBuilder strReturn,
              int iReturnLength, IntPtr hwndCallback);
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
13.07.2012, 20:54  [ТС] #4
+B, Не совсем понял как работает твой код. Не можешь объяснить, что это?

Добавлено через 1 минуту
TamaHawk, Я тут попробовал, все сделал, и у меня 2 вопроса появилось.
1. Можно ли в строчку WMP.URL списать адрес трека?
2. У меня проблемы со знаками. Код ругается на = и на скобки.

Добавлено через 1 минуту
А, и третий вопрос, как мне файл музыки указать?
0
+B
Заблокирован
13.07.2012, 21:19 #5
Цитата Сообщение от greem68 Посмотреть сообщение
+B, Не совсем понял как работает твой код. Не можешь объяснить, что это?
Это не мой код, а функция с помощью которой можно воспроизводить медио файлы.
http://www.codeproject.com/Articles/63094/Simple-MCI-Player
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
13.07.2012, 23:14  [ТС] #6
+B, А как использовать то его?
0
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
13.07.2012, 23:35 #7
greem68,
WMP.URL = @"sound.mp3" это путь к музыкальному файлу, в данном случае файл должен лежать в той же папке где и само приложение, но при желании можешь указать путь к нужному файлу. А sound это название файла. У меня посто так файл назывался.

Кстати в этой строчке я забыл точку с запятой в конце поставить, добавь если у тебя не стоит. WMP.URL = @"sound.mp3";
А насчет ошибок, в какую часть кода ты его вставляешь? он должен в обработчике событий находится. Создание объекта закинь в самый верх, а остальные строчки в обработчик события кнопки если хочешь чтоб музыка играла при нажатии на кнопку, или же в обработчик события загрузки формы чтоб сразу как прога загрузится.

Добавлено через 14 минут
Вот пример:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace Clock
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }
 
       
        public WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer();
 
        private void button1_Click(object sender, EventArgs e)
        {
            WMP.URL = @"sound.mp3";
            WMP.controls.play();
            //WMP.controls.stop();
            WMP.close();
        }
    }
}
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
14.07.2012, 10:41  [ТС] #8
TamaHawk, А это только при щелчке мыши?
0
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
14.07.2012, 10:54 #9
greem68, Все зависит от того в какой обработчик события закинешь. Можно сделать чтоб начинал игать как только загрузишь прогу. Для этого создай обработчик события загрузки формы, два раза кликни на форму, и создастся обработчик события примерно такого вида

C#
1
2
3
4
private void Form1_Load(object sender, EventArgs e)
{
 
}
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
14.07.2012, 11:06  [ТС] #10
TamaHawk, Я как понял, этот сто способ при котором надо нажимать на кнопку? Мне бы так, что бы он фоном играла, сама.

Добавлено через 42 секунды
Оу, простите, не заметил =)

Добавлено через 10 минут
Вот проблемы на данный момент =(
http://content.foto.mail.ru/mail/greem68/31/s-81.jpg
http://content.foto.mail.ru/mail/greem68/31/s-80.jpg
0
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
14.07.2012, 11:34 #11
greem68, Просто закоментируй эти две строчки, дело в этом. Они останавливают музыку при желании.

C#
1
2
WMP.controls.stop();
WMP.close();
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
14.07.2012, 11:45  [ТС] #12
Да, он там же и exe, ссылку на wmp куда поставить?

Добавлено через 8 минут
А как это? Извините, я не оч с этим.
0
+B
Заблокирован
14.07.2012, 11:50 #13
Цитата Сообщение от greem68 Посмотреть сообщение
А как это? Извините, я не оч с этим.
Мне кажется, что тебе следует прочитать немного про синтаксис СиШарп и в частности про то, как пишутся комментарии.
0
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
14.07.2012, 11:50 #14
greem68, Вроде на второй фотографии все правильно было, надо только убрать строчку
WMP.close(); и должно работать. или просто закоментрируй вот так

C#
1
2
//WMP.controls.stop();
//WMP.close();
1
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
14.07.2012, 11:58  [ТС] #15
Алелуя! Спасибо!

Добавлено через 1 минуту
И если можешь, то я создал тему по srollbar, если сможешь, то помоги пожалуйста =(. Это последнее,что мне осталось сделать в своей проге.
0
TamaHawk
10 / 10 / 1
Регистрация: 21.04.2012
Сообщений: 33
14.07.2012, 12:11 #16
greem68, Я сам еще новичок, на стадии обучения, так что наврятли смогу помочь с вопросом по srollbar, но и вопрос не совсем понятен там.
0
greem68
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 72
14.07.2012, 12:24  [ТС] #17
Мне просто надо было использовать элемент vScrollBar и привязать его к элементу WebBrowser. Что бы например полоса прокрутки была там, где я её поставлю, и крутить ей страницы в WebBrowser.
0
chempion59
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 1
14.02.2013, 20:24 #18
Здрасте, а как сделать чтобы играл целый список песен? и возможно ли избежать многократного добавления таких примеров?
C#
1
2
WMP.URL = "пример песни1";
 WMP.URL = "пример песни2";
0
Aloir
219 / 219 / 38
Регистрация: 17.12.2010
Сообщений: 710
15.02.2013, 13:12 #19
C#
1
2
3
4
        WindowsMediaPlayer p = new WindowsMediaPlayer();
 
            p.URL = @"E:\muzik\Алиса\2007 - Стать Севера\02 - Иго любви.mp3";
            p.controls.play();
убери у себя метод close, у тебя музыка начинает играть, а потом сразу закрывается проигрыватель
0
Jman
43 / 43 / 25
Регистрация: 11.10.2015
Сообщений: 521
Завершенные тесты: 4
02.11.2016, 16:19 #20
Всем привет! Подскажите как В 15 VS как добавить ссылку на wmp.dll?
0
02.11.2016, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2016, 16:19
Привет! Вот еще темы с решениями:

Как объединить (склеить) видео и музыку?
Как объединить (склеить) видео и музыку в Visual Studio С#?

Как воспроизвести музыку при открытии формы?
Доброе время суток! Столкнулся с такой проблемой, при открытии...

Как при уводе курсора с кнопки остановить музыку?
Когда навожу курсор на кнопку(MouseMove) начинается играть музыка. Как при...

Как, имея openfiledialog добавить в программу изображение или музыку
Как с помощью "folderBrowserDialog" добавить в программу изображение или...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru