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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2010, 14:27   #1
Xakand_2009
Пользователь
 
Регистрация: 09.01.2010
Сообщений: 23
Вопрос Работа с несколькими плейлистами

Здравствуйте.

Я разрабатываю mp3 плеер в Delphi 7, используется MediaPlayer. Имеется 2 плейлиста: один с рекламой, второй с музыкой. Мне необходимо сделать так, чтобы поочерёдно воспроизводились треки из двух плейлистов (три из первого - один из второго). Подскажите, пожалуйста алгоритм или пример реализации данного вопроса.

Спасибо.
Разницы нет, когда не-с-чем сравнить!
Xakand_2009 вне форума Ответить с цитированием
Старый 16.04.2010, 18:06   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ну, алгоритм Вы только что описали
А реализация, тут зависит от уровня вашей подготовки, что такое TStringList знаете? Как создавать объекты знаете? Если не знаете, почитайте книгу по Дельфи и делайте так:
1. Создать два экземпляра TStringList (глобальные): sl1, sl2: TStringList;
2. В один загрузить список треков первого плейлиста, во второй список треков второго.
3. Объявите глобальную переменную - счетчик треков: track: integer;
4. По нажатию кнопки Play или при окончании трека выполняйте такой код
Код:
Inc(track);
if track mod 4 = 0 then begin
  //воспроизводим трек из второго списка
  Mediaplayer.FileName:=sl2[track div 4 - 1];
  Mediaplayer.Play;
end
else begin
  //воспроизводим трек из первого списка
  Mediaplayer.FileName:=sl1[(track div 4 * 3) + (track mod 4) - 1];
  Mediaplayer.Play;
end;
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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 16.04.2010, 21:00   #3
Xakand_2009
Пользователь
 
Регистрация: 09.01.2010
Сообщений: 23
Вопрос

Спасибо за быстрый ответ. Используя его я создал приложение, но оно выдаёт ошибку и воспроизведение не начинается. (SL primer 1.rar). Найдите, пожалуйста, её причину.

p.s. В моём плеере в качестве плейлиста используется компонент ListBox. Можно ли вместо StringList использовать этот компонент. Или можно их как-нибудь объединить (для наглядности)?
Разницы нет, когда не-с-чем сравнить!
Xakand_2009 вне форума Ответить с цитированием
Старый 16.04.2010, 22:17   #4
Xakand_2009
Пользователь
 
Регистрация: 09.01.2010
Сообщений: 23
Вопрос

Я сам проверил код и нашёл несколько ошибок. Теперь музыка воспроизводится и чередуется. Но существует ещё, по крайней мере, три ошибки:

1. Воспроизведение следующего файла начинается только после очередного нажатия кнопки Play.
2. После нескольких треков плеер выдаёт ошибку и воспроизведение прекращается совсем.
3. Иногда треки повторяются (проигрываются 2 раза подряд).

Как это исправить?
Спасибо.
Разницы нет, когда не-с-чем сравнить!
Xakand_2009 вне форума Ответить с цитированием
Старый 16.04.2010, 22:28   #5
Xakand_2009
Пользователь
 
Регистрация: 09.01.2010
Сообщений: 23
По умолчанию

Ошибка № 3 крылась в наличии дубликатов воспроизводимых файлов (устранена). SL primer 1.rar. По остальному жду совета.
Разницы нет, когда не-с-чем сравнить!
Xakand_2009 вне форума Ответить с цитированием
Старый 17.04.2010, 14:20   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Исправленный исходник во вложении
Вложения
Тип файла: zip SL primer 2.zip (15.8 Кб, 30 просмотров)
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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.04.2010, 17:52   #7
Xakand_2009
Пользователь
 
Регистрация: 09.01.2010
Сообщений: 23
Вопрос

Здравствуйте. Спасибо, Ваш вариант работает. Но мне необходимо поменять условие:

1. Воспроизводим плейлист с рекламой

2. Воспроизводим первый трек из плейлиста с музыкой

3. Воспроизводим плейлист с рекламой

4. Воспроизводим второй трек из плейлиста с музыкой

И т.д.

Частота воспроизведения плейлиста с рекламой - 25-35 раз в день. Все музыкальные треки должны быть разными.

Возможно ли это?
Разницы нет, когда не-с-чем сравнить!
Xakand_2009 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с несколькими формами zmey31313 Общие вопросы Delphi 10 01.12.2009 11:24
С++. Работа с файлом и несколькими строками OXED Помощь студентам 4 01.07.2009 02:09
Работа с несколькими документами одновременно Busine2009 Microsoft Office Word 12 04.06.2009 19:53
Одновременная работа с несколькими портами через ServerSocket Sane2k Работа с сетью в Delphi 16 06.03.2009 17:24
Работа с плейлистами. NikLik Софт 18 23.09.2008 11:50