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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2016, 11:38   #1
vitalmsk
Пользователь
 
Регистрация: 10.05.2016
Сообщений: 28
По умолчанию Определить время звучания аудиофайла

Школьный радиоузел. Планировщик заданий запускает консольную программу воспроизведения аудио файла. (ABC Паскаль) По окончании воспроизведения консоль закрывается и комп продолжает делать свое дело. Вопрос как определить время звучания (для закрытия консоли) или как закрыть консоль после завершения воспроизведения?
vitalmsk вне форума Ответить с цитированием
Старый 27.10.2016, 15:27   #2
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

Что используете в консольном приложения для воспроизведения аудио?
К примеру, комплектный модуль Sounds для WAV:
Код:
... 
var s: sound;
begin 
  s:= sound.Create('test.wav'); 
  s.play;
  sleep(s.Length); 
  s.Destroy;
...
kutani вне форума Ответить с цитированием
Старый 31.10.2016, 17:07   #3
vitalmsk
Пользователь
 
Регистрация: 10.05.2016
Сообщений: 28
По умолчанию

Да именно так, но как вычислить параметр Length для использования в sleep. Пока чисто методом проб определил сколько будет играть Wav файл например в 1 Мб. По длине wav файла вычисляю приблизительную величину Length и подставив в sleep(s.Length); и имею "счастье". Хотелось бы поточнее.
vitalmsk вне форума Ответить с цитированием
Старый 31.10.2016, 17:22   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а чем вызвано использование именно Pascal ABC? я считал, что это ЯВУ исключительно для обучения программированию!

Цитата:
но как вычислить параметр Length для использования в sleep
ну и вопрос не очень понятен.
из справки:

Код:
function Length: integer;
Возвращает длительность звука в миллисекундах.
т.е. s.Length - это и есть длительность вашего файла в миллисекундах.
Не надо ничего вычислять, всё уже вычислено!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.10.2016, 20:35   #5
vitalmsk
Пользователь
 
Регистрация: 10.05.2016
Сообщений: 28
По умолчанию

Ключевая фраза - Школьный радиоузел. поэтому:
1 - ЕГЭ по информатике сдается на ABC паскале. Программу делают ученики.
2 - Я по наивность считал, что function Length: integer; расщитывает длину строковой переменной, а не время звучания файла.
vitalmsk вне форума Ответить с цитированием
Старый 31.10.2016, 22:14   #6
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

функция length() не то же самое, что свойство класса Sound.length/
kutani вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить время сортировки alex(21) C# (си шарп) 3 29.03.2013 16:19
Сохранение аудиофайла с CD Fornit Мультимедиа в Delphi 3 05.03.2012 17:14
Обрезание Аудиофайла Den7656 Общие вопросы Delphi 1 15.12.2011 10:58
Обрезание Аудиофайла Den7656 Компоненты Delphi 0 14.12.2011 18:40
определить время выполнения процедуры? Bezdar Microsoft Office Excel 4 20.01.2009 13:57