![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.01.2020
Сообщений: 7
|
![]()
Подскажите, плиз, как зациклить аудио файл этой функцией? Как ее правильно вызвать?
(Это компоненты библиотеки LMDTools) Код:
WaveList_Logo.Items[0].Wave.Play; // вызов одиночного звука из wav-листа WaveList_Logo.Items[1].Wave.PlaySound(?); // думаю как-то так надо зациклить, но какие флаги писать? Последний раз редактировалось gkc; 14.05.2024 в 17:20. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,321
|
![]()
Библиотекой не пользовался, но по приведенному коду предположу "WaveList_Logo.Items[1].Wave.PlaySound(sdLoop);".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#3 | |
Регистрация: 16.01.2020
Сообщений: 7
|
![]() Цитата:
[Error] Logo.pas(5749): Undeclared identifier: 'sdLoop' *У меня был этот код, пару лет назад в каком то проекте, но он затерялся( Насколько помню, там в скобках были 2 флага, типа: "SND_ASYNC OR SND_LOOP" Но я все счас перепробовал - нифига (- Последний раз редактировалось gkc; 14.05.2024 в 19:00. |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Цитата:
какой-то из модулей перечисленных в uses описания данной функции (тот где описан тип TLMDSndPlayMode)
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,884
|
![]() |
![]() |
![]() |
![]() |
#6 | |
Регистрация: 16.01.2020
Сообщений: 7
|
![]() Цитата:
добавил unit lmdwave и ошибка ушла! Сбило с толку что функ. Wave.Play; работала (она в том же модуле описана) а Wave.PlaySound(sdLoop); не работала... |
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 16.01.2020
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 16.01.2020
Сообщений: 7
|
![]()
А как корректно сменить музыку при вызове через Loop?
Допустим я вызвал второй файл из своего листа: WaveList_Logo.Items[2].Wave.PlaySound(sdLoop); Ок, все работает, Loop отрабатывает как надо, Я хочу сменить файл, запустить третий файл: да, если я вызову так: WaveList_Logo.Items[3].Wave.PlaySound(sdLoop); Функция корректно и моментально сменит файл, при этом есстно сразу оборвет предыдущую. Это слушается не очень хорошо... Какие варианты тут есть? *Все рабочие файлы с в редакторе подготовил под Loop! 1.Я могу плавно уменьшить громкость (например через SetWaveVolume()) Сменить принулевой громкости файл и снова поднять громкость до старого значения. Но будет провал звука на несколько секунд, что тоже не айс. 2. я могу ввести в константы длительность всех своих аудио треков и отслеживать длительность текущей фонограммы в нормальном таймере. и, при окончании фонограммы (если это нужно) выбирать новую и перевызывать WaveList_Logo.Items[3].Wave.PlaySound(sdLoop); Возможно это будет работать, но смущает асинхронность и костыльность решения. Вопрос: Есть ли какие-то еще решения как отследить длину трека и "вовремя" сменить его? Возможно, можно получить какие-то данные об окончании файла от SndPlaySound? (MMSystem) какие то ей запросы в таймере посылать? Насколько я вижу она воспроизводит звук, то... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызвать функцию(с++) | Sterben | Помощь студентам | 13 | 29.09.2015 09:01 |
Как вызвать функцию.. | Аделинкка | Общие вопросы Delphi | 10 | 21.12.2012 10:47 |
Як вызвать функцию из dll в C# ? | Dr.Pauliss | Помощь студентам | 5 | 26.09.2011 12:42 |
Вызвать функцию ассемблера из С++ | Dima88 | Помощь студентам | 3 | 11.12.2009 00:54 |
Как вызвать функцию? | blackstersl | Общие вопросы Delphi | 10 | 07.06.2009 19:22 |