Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 17:45   #11
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

Я писал похожую программу, но только я писал:

Код:
MediaPlayer1.FileName:=ListBox1.Items.Strings[ListBox1.ItemIndex]
если чем помог, поставьте отзыв на весы

Последний раз редактировалось Xatr; 09.11.2009 в 18:31.
Xatr вне форума Ответить с цитированием
Старый 09.11.2009, 17:49   #12
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
По умолчанию

я в начале темы прикрепил аттач, посмотри пожалуйста и укажи на ошибки, заранее благодарен, а то поди даже и наработки не поглядели....

это дело чести, написал почтовый клиент читающий почту, прожку для мало мальских работ с базой данных и хочу её усовершенствовать а тут такое и не даётся осилить
>>arty<< вне форума Ответить с цитированием
Старый 09.11.2009, 18:22   #13
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

Там я лично увидел только добавление строк в ListBox через OpenDialog, но и это можно переделать:

Код:
if opendialog1.Execute then Listbox1.Items.Append(opendialog1.FileName);
Это условие нужно, например если пользователь ничего не выберет, а нажмёт "отмена", а включение MediaPlayer нужно включать, когда кликаешь по ListBox

Лично я использовал не TrackBar, а ProgressBar.

ListBox1.Click:
Код:
begin
Mediaplayer1.Close;
ProgressBar1.Max:=Mediaplayer1.Length;
MediaPlayer1.FileName:=ListBox1.Items.Strings[ListBox1.ItemIndex];
Mediaplayer1.Open;
Timer1.Enabled:=true;
Mediaplayer1.Play;
end;
А для изменения позиции в ProgressBar, нужно в компоненте Timer1 прописать:
Код:
ProgressBar1.Position:=Mediaplayer1.Position;
Этот код может и не получиться.
Первоначальное значение Timer1.Enabled установить в False

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

Последний раз редактировалось Xatr; 09.11.2009 в 18:28. Причина: Правка кода
Xatr вне форума Ответить с цитированием
Старый 10.11.2009, 16:10   #14
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
Злость

не фурычит ничего, открываю нужный файл, тыкаю в listbox'е и прерывает процесс, ошибка мол говорит.... Мне интересно ты тупо код исходный посмотрел или запускал проект?
А то уже к которому человеку обращаюсь все советуют а советы то пустые!
У меня установлена среда CodeGear 2009 Delphi 2009 и программирую я на ней...
>>arty<< вне форума Ответить с цитированием
Старый 10.11.2009, 16:28   #15
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
про автоматический переход на следующую мелодию
Код:
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;
так устроит?
воспроизвести по клику в ListBoxe
Код:
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.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;
вот посмотри!!!
Вложения
Тип файла: rar MP3 Player.rar (37.0 Кб, 64 просмотров)
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 10.11.2009 в 16:34.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 10.11.2009, 16:44   #16
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
Подмигивание

вот тебе огромное спасибо! Всё чётко и понятно, а главное - ошибки свои подметил
>>arty<< вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
простенький аудиоплеер (Delphi 7) SakuReTsu Фриланс 11 24.04.2009 21:54
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54
не StringGrid1.Cells[1,1]:='Delphi'; а вот так SG1.C[1,1]:='Delphi' Nemesisking Компоненты Delphi 7 08.09.2007 03:27