Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Программный код






    { MP3 плееер с регулятором громкости.}

    unit mp3p_;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

    Dialogs, StdCtrls, Buttons, ExtCtrls, MPlayer, ComCtrls,

    MMSYSTEM, FileCtrl; // эти ссылки вставлены вручную

    type

    TForm1 = class(TForm)

    // кнопки

    SpeedButton1: TSpeedButton; // Предыдущая композиция

    SpeedButton2: TSpeedButton; // Воспроизведение/Стоп

    SpeedButton3: TSpeedButton; // Следующая композиция

    SpeedButton4: TSpeedButton; // Выбор папки

    ListBox1: TListBox; // Список композиций (mp3 файлов)

    MediaPlayer1: TMediaPlayer; // медиа плеер

    TrackBar1: TTrackBar; // регулятор громкости

    Timer1: TTimer;

    Label1: TLabel;

    Label2: TLabel;

    Shape1: TShape; // рамка вокруг кнопок

    procedure FormCreate(Sender: TObject);

    procedure ListBox1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton3Click(Sender: TObject);

    procedure TrackBar1Change(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure SpeedButton4Click(Sender: TObject);

    // эти объявления вставлены сюда вручную

    procedure Play; // воспроизведение

    procedure PlayList(Path: string); // формирует список MP3 файлов

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    var

    SoundPath: string[255];

    min, sec: integer; // время воспроизведения

    volume: LongWord; // старшее слово - правый канал,

    // младшее - левый.

    // формирует список MP3 файлов

    procedure TForm1.PlayList(Path: string);

    var

    lpBuf: PChar; // указатель на nul-terminated строку

    sWinDir: string[128]; // обычная Паскаль строка

    SearchRec: TSearchRec; // структура SearchRec содержит информацию

    // о файле, удовлетворяющем условию поиска

    begin

    ListBox1.Clear;

    // сформировать список mp3 файлов

    if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then

    begin

    // в каталоге есть файл с расширением WAV

    // добавим имя этого файла в список

    ListBox1.Items.Add(SearchRec.Name);

    // пока в каталоге есть другие файлы с расширением WAV

    while (FindNext(SearchRec) = 0) do

    ListBox1.Items.Add(SearchRec.Name);

    end;

    ListBox1.ItemIndex: = 0;

    end;

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    PlayList('');

    ListBox1.ItemIndex: = 0;

    Label1.Caption: =ListBox1.Items[ListBox1.itemIndex];

    TrackBar1.Position: = 7;

    // старшее слово переменной volume - правый канал,

    // младшее - левый

    volume: = (TrackBar1.Position - TrackBar1.Max+1)* 6500;

    volume: = volume + (volume shl 16);

    waveOutSetVolume(WAVE_MAPPER, volume); // уровень сигнала

    end;

    // щелчок на названии произведения

    procedure TForm1.ListBox1Click(Sender: TObject);

    begin

    // вывести в поле метки Label1 имя выбранного файла

    if not SpeedButton2.Down

    then SpeedButton2.Down: = True;

    Label1.Caption: =ListBox1.Items[ListBox1.itemIndex];

    Play;

    end;

    // щелчок на кнопке Воспроизведение

    procedure TForm1.SpeedButton2Click(Sender: TObject);

    begin

    if SpeedButton2.Down then

    // пользователь нажал кнопку

    // начать воспроизведение

    Play

    else

    // если кнопка Воспроизведение нажата,

    // то повторное нажатие останавливает

    // воспроизведение

    begin

    MediaPlayer1.Stop;

    Timer1.Enabled: = False;

    SpeedButton2.Down: = False;

    SPeedButton2.Hint: = 'Play';

    end;

    end;

    // кнопка К предыдущей

    procedure TForm1.SpeedButton1Click(Sender: TObject);

    begin

    if ListBox1.ItemIndex > 0 then

    ListBox1.ItemIndex: = ListBox1.ItemIndex - 1;

    Play;

    end;

    // кнопка К следующей

    procedure TForm1.SpeedButton3Click(Sender: TObject);

    begin

    if ListBox1.ItemIndex < ListBox1.Count then

    ListBox1.ItemIndex: = ListBox1.ItemIndex + 1;

    Play;

    end;

    // пользователь изменил положение

    // регулятора громкости

    procedure TForm1.TrackBar1Change(Sender: TObject);

    begin

    volume: = 6500* (TrackBar1.Max - TrackBar1.Position);

    volume: = volume + (volume shl 16);

    waveOutSetVolume(WAVE_MAPPER, volume);

    end;

    // воспроизвести композицию,

    // название которой выделено

    // в списке ListBox1

    procedure TForm1.Play;

    begin

    Timer1.Enabled: = False;

    Label1.Caption: =ListBox1.Items[ListBox1.itemIndex];

    MediaPlayer1.FileName: = SoundPath + ListBox1.Items[ListBox1.itemIndex];

    try

    Mediaplayer1.Open;

    except

    on EMCIDeviceError do

    begin

    ShowMessage('Ошибка обращения к файлу '+

    ListBox1.Items[ListBox1.itemIndex]);

    SpeedButton2.Down: = False;

    exit;

    end;

    end;

    MediaPlayer1.Play;

    min: =0;

    sec: =0;

    Timer1.Enabled: = True;

    SpeedButton2.Hint: = 'Stop';

    end;

    // сигнал от таймера

    procedure TForm1.Timer1Timer(Sender: TObject);

    begin

    // изменить счетчик времени

    if sec < 59

    then inc(sec)

    else begin

    sec: =0;

    inc(min);

    end;

    // вывести время воспроизведения

    Label2.Caption: = IntToStr(min)+': ';

    if sec < 10

    then Label2.Caption: =

    Label2.Caption +'0'+ IntToStr(sec)

    else Label2.Caption: =

    Label2.Caption + IntToStr(sec);

    // если воспроизведение текущей композиции

    // не завершено

    if MediaPlayer1.Position < MediaPlayer1.Length

    then exit;

    // воспроизведение текущей композиции

    // закончено

    Timer1.Enabled: = False; // остановить таймер

    MediaPlayer1.Stop; // остановить плеер

    if ListBox1.ItemIndex < ListBox1.Count // список не исчерпан

    then begin

    ListBox1.ItemIndex: = ListBox1.ItemIndex + 1;

    Play;

    end

    end;

    // Щелчок на кнопке Папка

    // Выбрать папку, в которой находятся MP3 файлы

    procedure TForm1.SpeedButton4Click(Sender: TObject);

    var

    Root: string; // корневой каталог

    pwRoot: PWideChar;

    Dir: string;

    begin

    Root: = ''; // корневой каталог - папка Рабочий стол

    GetMem(pwRoot, (Length(Root)+1) * 2);

    pwRoot: = StringToWideChar(Root, pwRoot, MAX_PATH*2);

    if not SelectDirectory('Выберите папку', pwRoot, Dir)

    then Dir: =''

    else Dir: = Dir+'\';

    // каталог, в котором находятся MP3 файлы выбран

    SoundPath: = Dir;

    PlayList(SoundPath);

    end;

    end.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.