|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.05.2009, 23:46 | #1 |
Пользователь
Регистрация: 20.02.2009
Сообщений: 28
|
Перемотка (прокрутка) в плеере
Всем здрасте! ЕСть такая проблема: при перемотке (используется TrackBar) некорректно ведет себя время файла, т.е время файла идет при проигрывании высвечивает в Label а как только перемотаешь оно останавливается. Как узнать полностью время проигрываемого аудиофайла и чтоб при перемотке оно и в label автоматически прокручивалось (как в винамп), используются стандартные ком-ненты. Может кто сталкивался с подобной проблемой, помогите ее решить!!!
|
03.05.2009, 00:28 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
при открытии нового трека:
Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.05.2009, 11:03 | #3 | |
Пользователь
Регистрация: 20.02.2009
Сообщений: 28
|
Цитата:
procedure TForm1.Timer2Timer(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; // остановить плеер TrackBar1.Position:=0; Timer1.Enabled:=true; end; но тут чето неправильно, время начинает идти как только запускается воспроизведение файла, а при паузе или перемотке оно не изменяется, а продолжает идти дальше! че ж делать ? |
|
03.05.2009, 11:40 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
в таймере для расчета времени берите значение из МедиаПлеера
а не сами отсчитывайте Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.05.2009, 15:33 | #5 |
Пользователь
Регистрация: 20.02.2009
Сообщений: 28
|
дело в том, что если брать из медиплеера т.е. MediaPlayer.Length оно выдает значение не в секундах! а в каких то цифрах
типа 1239 потом 2135 и так далее каждую секунду вместо 00, 01 как обычно секунд. |
03.05.2009, 16:54 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это называется милисекунды
и перевести в секунды это все проще простого а вот еще, может пригодится Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 03.05.2009 в 16:57. |
|
03.05.2009, 19:46 | #7 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Лучше так
Код:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
04.05.2009, 13:13 | #8 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
если чесно MediaPlayer не так хорош, лучше использовать Bass.dll
т.к. по своему опыту знаю сделаешь "плеер" вроде играет всё ок, а потом захочится сделать визуальзацию, эквалайзер, а это уже MediaPlayer'у не подсилу... Так что лучше убить время на изучение Bass.dll или ZuByBass.dll (Аудио Плеер за 10 мин...) |
04.05.2009, 16:09 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
мне лично не нравится таскать с собой ДЛЛ без нужды
а если чтото серьезное то да, он не годится но для простой вещи то можно Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.05.2009, 20:04 | #10 | ||
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
Извиняюсь за глупый вопрос, но у меня не получается: при выводе этой процедуры в label
Цитата:
Цитата:
xor eax, eax
xchg [eax], eax |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перемотка в mp3 плеере | Mazaxaka | Мультимедиа в Delphi | 21 | 27.02.2009 01:09 |
MediaPlayer перемотка с TrackBar | Kaifun | Мультимедиа в Delphi | 2 | 09.12.2008 19:24 |
Перемотка в mP3 плеере | lionman | Мультимедиа в Delphi | 3 | 27.10.2008 21:21 |
Перемотка в TMediaPlayer | Kn793 | Компоненты Delphi | 0 | 10.07.2008 11:02 |