Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
doll12
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 3
1

Музыка в С++

26.04.2012, 01:26. Просмотров 3025. Ответов 4
Метки нет (Все метки)

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

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button6Click(TObject *Sender)
{
 MediaPlayer1->FileName="D:\\41_AdamLambert-Wha.mp3"; //Загружаем в TMediaPlayer исхожную песню
MediaPlayer1->Open();
 Timer1->Enabled=true; //Включаем таймер, который будет прокручивать наш ScrollBar
 ScrollBar1->Max=MediaPlayer1->Length/245; //Устанавливаем максимальное значение TScrollBar на длину песни
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 ScrollBar1->Position=MediaPlayer1->Position/245;  //Перемещаем ползунок СкроллБара на текущую позицию песни, которая проигрывается
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ScrollBar1Change(TObject *Sender)
{
  MediaPlayer1->Position=ScrollBar1->Position*245; //Если пользователь вручную перемещает ползунок, то мы меняем позицию в песни на текущию позицию в СкроллБаре
  MediaPlayer1->Play(); //Воспроизводим снова песню, так как после смены позиции проигрывание останавливается
}
//---------------------------------------------------------------------------

Вот так добавила.
и еще появляется ошибка
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 01:26
Ответы с готовыми решениями:

Музыка
Если кто то знает, как получить длину музыкального файла, например 3:20 и т.п. Подскажите...

Музыка на CD
1. Сведения: название, автор, исполнитель, число произведений (песен, пьес, арий и т.д.), дата...

Музыка
помогите с программой, нужно сделать прогу, которая исполняет какую-то мулодию заранее спасибо

Музыка
напишите, как примерно нужно записать музыку.. (покажите на примере) если музыка в формате WAV...

4
doll12
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 3
26.04.2012, 01:28  [ТС] 2
......
0
Миниатюры
Музыка в С++  
Изображения
 
Avazart
Эксперт С++
8121 / 5895 / 583
Регистрация: 10.12.2010
Сообщений: 27,274
Записей в блоге: 21
26.04.2012, 02:05 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
//MediaPlayer1->Pause();
MediaPlayer1->Position = TrackBar1->Position;
MediaPlayer1->Play();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
MediaPlayer1->FileName="C:\\Users\\Public\\Music\\Sample Music\\Kalimba.mp3"; 
MediaPlayer1->Open();
TrackBar1->Max = MediaPlayer1->Length;
}
//---------------------------------------------------------------------------
Только тормозит.
Я бы использовал другой компонент-плеейр у него уже есть прокрутка
1
doll12
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 3
26.04.2012, 03:23  [ТС] 4
Спасибо большое.

А не подскажете этот компонент?
0
kzru_hunter
1116 / 785 / 100
Регистрация: 01.02.2011
Сообщений: 1,825
Записей в блоге: 1
26.04.2012, 08:50 5
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
bool g_bScrolling = false;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        MediaPlayer1->FileName = "d:\\Music.mp3";
        MediaPlayer1->Open();
        MediaPlayer1->Play();
        ScrollBar1->Max = MediaPlayer1->Length;
        ScrollBar1->SmallChange = ScrollBar1->Max / 100;
        ScrollBar1->LargeChange = ScrollBar1->Max / 50;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        if (!g_bScrolling) // если юзер в данный момент не перемещает ползунок
                ScrollBar1->Position = MediaPlayer1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ScrollBar1Scroll(TObject *Sender, // OnScroll
      TScrollCode ScrollCode, int &ScrollPos)
{
        g_bScrolling = true;
 
        if (ScrollCode == scEndScroll)
        {
                MediaPlayer1->Position = ScrollBar1->Position;
                MediaPlayer1->Play();
                g_bScrolling = false;
        }
}
//---------------------------------------------------------------------------
1
26.04.2012, 08:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 08:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Музыка
1.) При загрузке формы, запускается музыка private void Form_Menu_Load(object sender,...

Музыка в C++
Доброго времени суток, уважаемые форумчане. Возникла необходимость в воспроизведении музыки в...

музыка в c++
Всем привет, знаю что можно в программку вставить проигрывание музыки, как это сделать? посмотрел...

Музыка
Скажите пожалуйста как зашить в свою программу музыку тобишь чтоб при запуске программы играла...


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

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

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