С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/50: Рейтинг темы: голосов - 50, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 9
1

Музыкальный проигрыватель.

05.02.2012, 11:17. Показов 9742. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Решил написать простенький музыкальный проигрыватель на С++. Нашел инструкцию и все сделал по ней, но выскакивает ошибка type name expected.
листинг:


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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "player.h"
#define MINUTE(ms) ((ms/1000)/60)
#define SECOND(ms) ((ms/1000)%60)
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
int Track; //Объявляем переменные и даем им значения:
int ms;
AnsiString st;
Track = MCI_TMSF_TRACK(Form1->MediaPlayer1->Position); //ЗДЕСЬ ПОЯВЛЯЕТСЯ ОШИБКА
ms = Form1->MediaPlayer1->TrackLength[Track];
st = st + " "+ IntToStr(MINUTE(ms));
st = st + ":" + IntToStr(SECOND(ms));
 
Form1->Label1->Caption = st; //Укажите вместо Label1 – ваш компонент, куда выводить общее время трека.
 
int time_min;
int time_sec;
 
void my_play ()
{
 
if (Form1->ListBox1->ItemIndex == -1) //Если файл не выбран в ListBox
{
ShowMessage("Укажите файл!"); //Предупреждаем
} else { // Если выбран
 
 
Form1->MediaPlayer1->FileName=Form1->ListBox1->Items->operator [](Form1->ListBox1->ItemIndex); //Присваиваем имя выбранного трека
time_sec=0;
time_min=0;
Form1->Timer1->Enabled=true; //Включаем таймер, о нем читайте ниже.
 
Form1->Caption=(ExtractFileName(Form1->MediaPlayer1->FileName) ); // выводим имя трека
 
try { //Воспроизводим трек
Form1->MediaPlayer1->Open();
Form1->MediaPlayer1->Play();
}
catch(...) // Если трек не может воспр.
{
ShowMessage("Ошибка воспр. файла!");
}
}
}
void __fastcall TForm1::Button8Click(TObject *Sender)
{
ListBox1->Clear();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
my_play ()
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
MediaPlayer1->Pause();
Timer1->Enabled=false;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
MediaPlayer1->Stop();
Timer1->Enabled=false;
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button5Click(TObject *Sender)
{
if (ListBox1->ItemIndex >= ListBox1->Count-1) // Если выбран последний в списке файл
{
ListBox1->ItemIndex=0; //Выбираем первый
my_play();// и его воспроизводим
}
Else // если выбран НЕ последний
{
ListBox1->ItemIndex=ListBox1->ItemIndex+1; // Переход к следующему
my_play(); // И воспроизводим
}
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (ListBox1->ItemIndex == -1) //Если файл вообще не выбран
{
ListBox1->ItemIndex=0; //Выбераем первый
my_play(); // и воспроизводим
} else {
 
if (ListBox1->ItemIndex==0) // Если выбран первый файл
{
ListBox1->ItemIndex=ListBox1->Count -1; // Указываем последний
my_play(); // И воспроизводим
}
Else
{
ListBox1->ItemIndex=ListBox1->ItemIndex -1; // Просто переключаемся на трек назад
my_play(); // И воспроизводим
}
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (Form1->MediaPlayer1->Position >= Form1->MediaPlayer1->Length) // А трек-то закончился:
{
if (ListBox1->ItemIndex >= ListBox1->Count-1) // Если файл был последним, переходим к первому:
{
ListBox1->ItemIndex=0;
my_play();
}
else{
ListBox1->ItemIndex=ListBox1->ItemIndex+1; // Переходим к следующему
my_play();
}
}
}
//---------------------------------------------------------------------------
 
 
 
++ time_sec; // Плюс одна секунда )
Label2->Caption=time_sec; //Это мой label куда выводяться секунды
 
if (Label5->Caption == 60) // Если секунд уже 60
{
time_sec=0; // Делаем их равными нолю
++time_min; // но прибавляем минуту
Label3->Caption=time_min; //Это мой label куда выводяться минуты
}
void __fastcall TForm1::Button7Click(TObject *Sender)
{
ListBox1->Items->Delete(ListBox1->ItemIndex);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button9Click(TObject *Sender)
{
if (SaveDialog1->Execute()) //Если вызван диалог
{
ListBox1->Items->SaveToFile(SaveDialog1->FileName); // Сохраняем
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button10Click(TObject *Sender)
{
if (OpenDialog1->Execute()) //Если вызван диалог
{
ListBox1->Clear();// Очищаем плэй лист и
ListBox1->Items->LoadFromFile(OpenDialog1->FileName); // и подгружаем новые песни
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button6Click(TObject *Sender)
{
if (OpenDialog1->Execute()) //Если диалог открыт, добавляем имя файла.
{
ListBox1->Items->Add(OpenDialog1->FileName); // Добавляем трэк
}
}
//---------------------------------------------------------------------------
Сама инструкция http://www.pcnext.ru/stat/knouble.php
Вложения
Тип файла: rar проигрыватель.rar (3.87 Мб, 258 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2012, 11:17
Ответы с готовыми решениями:

Музыкальный тренажёр слуха
Требуется создать музыкальный тренажёр слуха,т.е.пользователь слышит звук.и на раскладке клавиш...

аудио-проигрыватель с++
у меня есть программа проигрывателя .....но понять не могу....есть у кого нить еще проще. или в...

C++ Builder: Проигрыватель видео
Помогите пожалуйста. Нужно написать проигрыватель видео файлов на C++ Builder. Нужна программа и...

Проигрыватель Wav (ошибка в программе)
#include &quot;stdafx.h&quot; #include &quot;windows.h&quot; #include &quot;mmsystem.h&quot; #include &quot;stdio.h&quot; ...

8
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
05.02.2012, 12:37 2
- я не увидел в Вашем тексте
C++
1
#include  <mmsystem.h>
...
1
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
05.02.2012, 14:13 3
Плеер
0
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 9
06.02.2012, 09:32  [ТС] 4
мне не нужны чужие плееры. Я со своим хочу разобраться
0
LK
Заблокирован
06.02.2012, 12:47 5
Цитата Сообщение от XepSoba4ii Посмотреть сообщение
мне не нужны чужие плееры. Я со своим хочу разобраться
интересно, что вам мешает...
0
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
06.02.2012, 13:50 6
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от XepSoba4ii Посмотреть сообщение
мне не нужны чужие плееры
это тебе пример может что подчерпнеш для своего супербупер плеера...
Если такой умный че на форуме забыл...
ник точно характерезует владельца акаунта!
предлагаю администрации которая так нагруженна работой, немного фильтрануть ники ато скоро на форуме будет неприятно бывать...
5
Evg
Эксперт CАвтор FAQ
21280 / 8304 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
06.02.2012, 15:28 7
Цитата Сообщение от XepSoba4ii Посмотреть сообщение
Я со своим хочу разобраться
Ну и так, чисто на всякий случай. Ты имеешь не "свой плеер", а "свою графическую оболочку для чужого плеера". И ни граммом больше
0
55 / 44 / 5
Регистрация: 16.07.2011
Сообщений: 73
06.02.2012, 21:49 8
XepSoba4ii,
Слушай,я скачал у тебя плеер но не нашел там файла проекта Project2.bdsproj без него я не с могу найти ошибку в твоей программе и помочь тебе дописать плеер.
Мне кажется у тебя ошибка в проекте а не в коде!У меня так много раз было,я по десять раз переписывал код,но ничего не менялось.Потом просто создавал новый проект и все начинало работать
Хотя код оставался один в один!
0
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 9
11.02.2012, 09:48  [ТС] 9
ViNew, что-то при создании новых проектов файл .bdsproj не создается
0
11.02.2012, 09:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2012, 09:48
Помогаю со студенческими работами здесь

Проигрыватель: осталась перемотка и время
в последних 2х действиях пыталась сделать перемотку и чтоб показывало длительность...

Проигрыватель WMP, воспроизводение видео в формате mp4
Надо что бы воспроизводилось видео с разрешением .mp4 , стандартный проигрыватель воспроизводит...

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

Музыкальный проигрыватель в с#
Извините за вопрос никто не знает как разрабатывать музыкальный проигрыватель в с#? Если кто- то...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru