Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

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

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

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

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

Вот код, которым я пользуюсь:
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#):

Как сделать фоновую музыку? - C#
С обычной музыкой проблем нет SoundPlayer SoundPlayer = new SoundPlayer("Rev.WAV"); SoundPlayer.PlayLooping(); но если...

Как сделать музыку не останавливающейся? - C#
Пытаюсь я сделать бесконечное воспроизведение песни .... WindowsMediaPlayer wmp = new WindowsMediaPlayer(); Timer musicTimer; ...

Как осуществить фоновую подгрузку ресурсов? - C#
Необходимо во время загрузки приложения подгружать ресурсы (множество мелких изображений), таким образом, чтобы это происходило в фоновом...

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

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

Как проиграть музыку из Интернета - C#
Как музыку из интернета воспроизвести не скачивая Не нужно задавать свои вопросы в чужих темах, особенно если им 2 года. Одна тема -...

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
14.07.2012, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2012, 11:58
Привет! Вот еще темы с ответами:

Как воспроизвести музыку при открытии формы? - C#
Доброе время суток! Столкнулся с такой проблемой, при открытии скомпилированного проекта Windows Form не воспроизводится музыка. Подключал...

Как при уводе курсора с кнопки остановить музыку? - C#
Когда навожу курсор на кнопку(MouseMove) начинается играть музыка. Как при уводе курсора с кнопки остановить музыку? var wmp = new...

Как, имея openfiledialog добавить в программу изображение или музыку - C#
Как с помощью "folderBrowserDialog" добавить в программу изображение или музыку? Что нужно для этого прописать? Вот у меня такой участок...

Воспроизвести музыку из ресурсов - C#
Как воспроизвести поочередно несколько песен через ресурсы?! И как добавить Next для следующей песни? Изначально использую: ...


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

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

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