Воспроизведение звука
Timer › Enabled = false; } } // сигнал от таймера: вывести номер трека // и время воспроизведения void __fastcall TForml::TimerTimer(TObject *Sender) { int trk; // трек int min, sec; // время AnsiString st; if (MediaPlayer › Mode == mpPlaying) // режим воспроизведения { // получить номер воспроизводимого трека trk = MCI_TMSF_TRACK(MediaPlayer › Position); if (trk!= Track) // произошла смена трека { TrackInfo0; Track = trk; if { Track == 2) Button2 › Enabled = true; // доступна кнопка "пред.трек" if (Track == MediaPlayer-XTracks) Button3 › Enabled = false; // кнопка "след.трек" недоступна } // вывод информации о воспроизводимом треке min = MCI_TMSF_MINUTE(MediaPlayer › Position); sec = MCIJTMSF_SECOND(MediaPlayer › Position); st.printf("%d:%.2d",min,sec); Label2 › Caption = st; return; } /* Если дисковод открыт или в нем нет Audio CD, то Mode == mpOpen. Ждем диск, т. е. до тех пор, пока не будет Mode == mpStopped + кол-во треков > 1 */ if ((MediaPlayer › Mode == mpStopped) && (MediaPlayer-XTracks > 1)} < // диск вставлен Timer › Enabled = false; Button1 › Caption = PLAY; Button1 › Enabled = true; Button1-XTag = 0; MediaPlayer › Notify = true; // получить информацию о времени звучания CD MediaPlayer-XTimeFormat = tfMilliseconds; int ms = MediaPlayer › Length; AnsiString st = "Audio CD. Время звучания: "; st = st + IntToStr(MINUTE(ms)); st = st + ":" + IntToStr(SECOND(ms)}; Labell › Caption = st; MediaPlayer-XTimeFormat = tfTMSF; Labell › Visible = true; Track = 0; return; } // дисковод открыт или в дисководе не Audio CD if ((MediaPlayer › Mode == mpOpen)|| (MediaPlayer › Mode == mpStopped) && (MediaPlayer › Tracks == 1)) { Labell › Caption = "Вставьте Audio CD"; if (Labell › Visible) Labell › Visible = false; else Labell › Visible = true; } } // щелчок на кнопке "следующий трек" void__fastcall TForml::Button3Click(TObject *Sender) { MediaPlayer › Next(); // если перешли к последнему треку, то кнопку Next // сделать недоступной if (MCI_TMSF_TRACK(MediaPlayer › Position) == MediaPlayer › Tracks) Button3 › Enabled = false; if (! Button2 › Enabled) Button2 › Enabled = true; Tracklnfо(); Label2 › Caption = "0:00"; } // щелчок на кнопке "предыдущий трек" void__fastcall TForml::Button2Click(TObject *Sender) { MediaPlayer › Previous(); // в начало текущего трека MediaPlayer › Previous(); // в начало предыдущего трека if (MCI_TMSF_TRACK(MediaPlayer › Position) == 1) Button2 › Enabled = false; if (! Button3 › Enabled) Button3 › Enabled = true; Tracklnfо(); Label2 › Caption = "0:00"; } // пользователь закрыл окно программы void __fastcall TForml::FormClose(TObject *Sender, TCloseAction SAction) { MediaPlayer › Stop(); MediaPlayer › Close(); }