1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
1

MP3 player

14.03.2015, 10:00. Показов 2038. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как в mp3 player сделать, что бы когда песня закончилась, он автоматически переключал на следующую?

Добавлено через 9 часов 38 минут
Upp
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 10:00
Ответы с готовыми решениями:

Mp3-player. Таймер при перемотке
Делаю простенький mp3-player. И столкнулся с такой проблемой. Стоит у меня простенькая перемотка....

Как поставить в Mp3 плеере на кнопку окрытие не одного mp3 файла ??
Привет ! У меня такая проблема я пишу mp3 плеер на Delphi и у меня в нём есть кнопка открытия...

DElphi player
Не могу запрограммировать по полной плеер .кто может помогите с уважением( и заранее спасибо...

Media Player
Такая ситуация, сделал перемотку видео используя TrackBar, вот. Как сделать так чтобы ползунок...

16
Эксперт Pascal/Delphi
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,120
14.03.2015, 14:39 2
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
Добавлено через 9 часов 38 минут
Upp
за девять часов не смогли найти примера в сети?
0
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
14.03.2015, 15:15  [ТС] 3
Цитата Сообщение от droider Посмотреть сообщение
за девять часов не смогли найти примера в сети?
Нет
0
Эксперт Pascal/Delphi
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,120
14.03.2015, 15:30 4
adidas1997-21, Как с помощью TRACKBAR изменять положение трека(песни)
0
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
14.03.2015, 22:37  [ТС] 5
Цитата Сообщение от droider Посмотреть сообщение
adidas1997-21, Как с помощью TRACKBAR изменять положение трека(песни)
Было бы всё так легко.. У меня Mediaplayer даже не используется, всё на библиотеке BASS построено.
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.03.2015, 22:51 6
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
всё на библиотеке BASS построено
BASS_ChannelSetSync с флагом BASS_SYNC_END
1
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
14.03.2015, 22:52  [ТС] 7
Это куда вставлять?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.03.2015, 22:56 8
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
куда вставлять?

Не по теме:

гусары, молчать! (с)

в код, в случае успешного создания канала, связанного с проигрываемым файлом
0
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
14.03.2015, 23:01  [ТС] 9
Цитата Сообщение от cotseec Посмотреть сообщение
в код, в случае успешного создания канала, связанного с проигрываемым файлом
Спасибj, но я нифига не понял, что куда и т.д.
Цитата Сообщение от cotseec Посмотреть сообщение
BASS_ChannelSetSync с флагом BASS_SYNC_END
это прочёл, тоже не особо что-то осталось
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.03.2015, 23:09 10
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
тоже не особо что-то осталось
справкой и примерами, прилагаемыми к библиотеке, при написании программы пользовался? там достаточно понятно описано и функции имеют "говорящее" название

суть установки коллбека синхронизации - обработка некоторого события, определяемого флагом, указанным при установке функции синхронизации, приведенный в #6 флаг вызывает событие при окончании проигрывания текущего трека, в обработчике события достаточно запустить следующий по очереди трек, установив ему такую же синхронизацию (предварительно освободив старую)
0
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
15.03.2015, 07:40  [ТС] 11
Цитата Сообщение от cotseec Посмотреть сообщение
справкой и примерами, прилагаемыми к библиотеке, при написании программы пользовался? там достаточно понятно описано и функции имеют "говорящее" название
суть установки коллбека синхронизации - обработка некоторого события, определяемого флагом, указанным при установке функции синхронизации, приведенный в #6 флаг вызывает событие при окончании проигрывания текущего трека, в обработчике события достаточно запустить следующий по очереди трек, установив ему такую же синхронизацию (предварительно освободив старую)
Мне бы попроще. Через скрол бар позицию.

Немогу понять почему не работает такой код
Код
 If ScrollBar1.Position=100 then  playitem(lst1.ItemIndex+1)
если убрать условие, то он песню следующую начинает повторять
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.03.2015, 10:17 12
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
Немогу понять почему не работает такой код
потер свой хрустальный шар для гаданий - видимо беда в том, что условие ScrollBar1.Position=100 не срабатывает, м.б. когда трек оканчивается ScrollBar1.Position=101 или 99 или еще как, но не 100
1
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
15.03.2015, 16:01  [ТС] 13
потер свой хрустальный шар для гаданий - видимо беда в том, что условие ScrollBar1.Position=100 не срабатывает, м.б. когда трек оканчивается ScrollBar1.Position=101 или 99 или еще как, но не 100

Пробовал я 99. 101 не может быть т.к. максимум 100 стоит. Да и как я понял. Он сам делит песню на равные промежутки да и на экране видно что доходит до 100
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.03.2015, 16:17 14
Цитата Сообщение от adidas1997-21 Посмотреть сообщение
Он сам делит песню на равные промежутки да и на экране видно что доходит до 100
кто "он" - библиотек?

как происходит приращение ScrollBar1.Position? (по таймеру, в каком-либо ином обработчике или еще как)
чтобы не полагаться на зрение - сразу после приращения ScrollBar1.Position выводи это значение, например в заголовок формы и сразу все будет видно

З.Ы. без кода лечение по фотографии может продолжаться долго, только весь код разгребать нет никакого желания, коли игнорируются механизмы библиотеки, то для начала стоит взглянуть на процедуры запуска проигрывания и обработчик, где происходит приращение ScrollBar1.Position
0
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
15.03.2015, 22:08  [ТС] 15
Цитата Сообщение от cotseec Посмотреть сообщение
ак происходит приращение ScrollBar1.Position? (по таймеру, в каком-либо ином обработчике или еще как)
это в таймере
Код
if track = false then
ScrollBar1.Position:=BASS_ChannelGetPosition(stream,0);
Это на кнопке плэй
Код
  if BASS_ChannelIsActive(stream) = bass_active_paused then
BASS_ChannelPlay(stream,false) else
 playitem(lst1.ItemIndex);
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.03.2015, 22:24 16
Лучший ответ Сообщение было отмечено adidas1997-21 как решение

Решение

Цитата Сообщение от adidas1997-21 Посмотреть сообщение
Delphi
1
ScrollBar1.Position:=BASS_ChannelGetPosition(stream,0)
теперь лезем в неиспользуемую справку по библиотеке (и для чего ее разработчики писали, графоманы, млин) и читаем про BASS_ChannelGetPosition, а именно про второй параметр, который в данном случае равен BASS_POS_BYTE (0), мало того, что просто не проверяется возвращаемое значение функции, так еще и просится позиция в байтах, которая в редком случае может быть равна 100 (размер композиции совсем маленький, звезды так сошлись и т.д.) - еще раз смотри на #12 и проверь, как написано в #14, вставив сразу после получения позиции
Delphi
1
Caption := IntToStr(ScrollBar1.Position);
а еще лучше установить синхронизацию, как написано в #6 и таймер не надо будет

а если совсем лениво, то имеется BassSimple или M3U ListBox Player
1
1 / 1 / 1
Регистрация: 05.02.2015
Сообщений: 260
16.03.2015, 05:39  [ТС] 17
Цитата Сообщение от cotseec Посмотреть сообщение
теперь лезем в неиспользуемую справку по библиотеке (и для чего ее разработчики писали, графоманы, млин) и читаем про BASS_ChannelGetPosition, а именно про второй параметр, который в данном случае равен BASS_POS_BYTE (0), мало того, что просто не проверяется возвращаемое значение функции, так еще и просится позиция в байтах, которая в редком случае может быть равна 100 (размер композиции совсем маленький, звезды так сошлись и т.д.) - еще раз смотри на #12 и проверь, как написано в #14, вставив сразу после получения позиции
Код Delphi
1
Caption := IntToStr(ScrollBar1.Position);
а еще лучше установить синхронизацию, как написано в #6 и таймер не надо будет
а если совсем лениво, то имеется BassSimple или M3U ListBox Player
__________________
Спасибо, это всё понял, попробую
0
16.03.2015, 05:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2015, 05:39
Помогаю со студенческими работами здесь

media player,listbox
Приветствую,суть в следующем,нажатием на кнопку выбираем mp3 файл, далее он появляется в listbox,...

TChromium и Unity Web Player
Как подключить плагин Unity Web Player к компоненту Chromium? За ранее благодарен.

Delphi 7 Windows Media Player
W.Media Player не изменяет размер при растягивании окна. Свойство Align:=alclient; Если...

Media Player с полосой прогресса
Добрый вечер Пытаюсь реализовать полосу прокрутки в песне. Хотел использовать Image. Чтобы он...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru