Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Aladser
0 / 2 / 0
Регистрация: 31.01.2015
Сообщений: 54

Зацикливается в начале воспроизведения PlaySound()

01.02.2015, 13:56. Показов 938. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программе "Будильник" при совпадения таймера и времени будильника (структура ATime) срабатывает PlaySound().
Когда приложение было с одной формой (установка была также на главной форме), то PlaySound() воспроизводил до конца мелодию. Но когда установку времени будильника перенес на другую форму, то при срабатывания будильника мелодия из PlaySound() зацикливается на небольшом фрагменте. Из-за чего это и как решить эту проблему?

Код Форма1:
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
#include <vcl.h>
#pragma hdrstop
#include <Time.h>
#include <mmsystem.h>
#include "cpp_clocks.h"
#include "cpp_clocks_form2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
AnsiString StrLine="";
time_t t; tm* MyTime; //Таймер
struct timedata{
  int H,M,F;
  time(){H=0;M=0;F=0;}};
timedata ATime; //установка будильника
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
{}
//----------------------Часы & Проверка будильника---------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender){
StaticText1->Caption=Now().TimeString();
time(&t); MyTime=localtime(&t);
if(ATime.F == 1)
   if((MyTime->tm_hour == ATime.H) && (MyTime->tm_min == ATime.M)){
      PlaySound("melody.wav", 0, SND_ASYNC);
      //здесь был код записи строки в StrLine; 
      }
}
//-- был код для показа формы 2  Form2->ShowModal();
Код Форма 2:
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
#include <vcl.h>
#pragma hdrstop
#include <Time.h>
#include "cpp_clocks.h"
#include "cpp_clocks_form2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
 
struct timedata{
  int H,M,F;
  time(){H=0;M=0;F=0;}};
extern timedata ATime;
extern AnsiString StrLine;
//----------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner){}
void __fastcall TForm2::SetClick(TObject *Sender)
{
//-------------------Установка будильника-----------------------
if(ATime.F==0){
   ATime.H = StrToInt(Enter_H->Text);
   ATime.M = StrToInt(Enter_M->Text);
   ATime.F = 1;
 
   //---здесь был код записи строки в StrLine; 
   Form1->VisStat->Caption=StrLine; //VisStat - StaticText
   StatusAlarm->Caption = "Активен";//StatusAlarm - StaticText
   Set->Caption="Сбросить";} //поменял капчу кнопки 
//----------------------Сброс будильника------------------------
else{
   ATime.F=0;
   Form1->VisStat->Caption=""; StrLine="";
   StatusAlarm->Caption = "Неактивен";
   Set->Caption="Установить";}
}
Добавлено через 3 часа 6 минут
Сам разобрался, тема закрыта.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2015, 13:56
Ответы с готовыми решениями:

Зацикливается плеер при завершении воспроизведения файла
Доброго времени суток, Я пишу свой MP3 плеер и вот недавно наткнулся на следующую проблему: при завершении воспроизведения трека плеер...

Media Player Classic тормозит видео в начале воспроизведения
Переустановил винду 7, появилась такая проблема с Media Player Classic: при запуске файла сначала показывается чуть искаженный первый кадр,...

При открытии файла каретка расположена в самом начале 1 строки, а не в начале 3
Доброго времени суток! Интересует вопрос, почему при открытии файла каретка расположена в самом начале 1 строки, а не в начале 3, как...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2015, 13:56
Помогаю со студенческими работами здесь

PlaySound
Всем привет. Есть совершенно обычный, стандартный код: #include &lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,...

playsound
суть в том что куда бы я ни добавлял функцию playsound - окно не создается. музыка играет - а окна нет. так вот вопрос: Куда её надо...

PlaySound
Всем день добрый. Не могу разобраться вот с чем: При использовании функции PlaySound, во время воспроизведения ресурса,...

playsound
я воспроивожу звук с помощью playsound вот таким образом PlaySoundA(&quot;C:\\Users\\Dimon\\Desktop\\cavalry_charge_lrg.WAV&quot;, NULL,...

Звук в С++ PlaySound
Не робит #include &quot;stdafx.h&quot; #include &lt;SFML/Graphics.hpp&gt; #include &lt;SFML/Audio.hpp&gt; #include &lt;windows.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru