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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2008, 19:29   #21
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вы случайно не путаете? Вам один текущий звук надо остановить или вообще чтение текста? Звуки ведь короткие, озвучивание цифры, зачем его останавливать если он не больше секунды длиной?

NULL это не то же самое что nil, в Дельфи вместо NULL подставляйте ноль.

Я уже плохо помню, но кажется вызов PlaySound я сделал синхронно, так нужно было. Чтобы иметь возможность остановить, запускать PlaySound нужно асинхронно, но тогда придется паузу делать перед запуском следующего звука.

Вы с английским как? дружите?
Цитата:
SND_ASYNC The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL.

SND_SYNC The sound is played synchronously, and PlaySound returns after the sound event completes. This is the default behavior.
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; 01.11.2008 в 19:43.
mutabor вне форума Ответить с цитированием
Старый 09.11.2008, 12:48   #22
varvara16
Пользователь
 
Регистрация: 05.11.2007
Сообщений: 57
По умолчанию

Я не могу прервать процесс чтения. После нажатия кнопки play, пока процесс не закончится, нельзя нажать ни на какую кнопку. Как это можно устранить? Подскажите, пожалуйста. Спасибо.
varvara16 вне форума Ответить с цитированием
Старый 12.11.2008, 19:46   #23
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от varvara16 Посмотреть сообщение
Я не могу прервать процесс чтения. После нажатия кнопки play, пока процесс не закончится, нельзя нажать ни на какую кнопку. Как это можно устранить? Подскажите, пожалуйста. Спасибо.
Это потому что функция запущена синхронно (то есть возвращает управление (и результат) после окончания своей работы), чтобы иметь возможность остановить нужно запускать асинхронно, с параметром SND_ASYNC, тогда функция вернет управление сразу, и выполнение программы пойдет дальше, и тогда вы сможете когда нужно остановить воспроизведение PlaySound(0,0,0);
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 вне форума Ответить с цитированием
Старый 13.11.2008, 18:36   #24
varvara16
Пользователь
 
Регистрация: 05.11.2007
Сообщений: 57
По умолчанию

Я добавила асинхронность, но все равно процесс не удается прервать

Код:
function PlaySnd(i: integer; mode: TPlayMode): boolean;
begin
case mode of
  pmMediaPlayer:
    begin
     end;
  pmPlaySound:
    begin
    try
//      result:=PlaySound(PChar(path+sounds[i]), 0, SND_FILENAME or SND_ASYNC);
      result:=PlaySound(PChar(path+sounds[i]), 0, SND_ASYNC);
      Sleep(700);
      except
      end;
    end;
  end;
end;
varvara16 вне форума Ответить с цитированием
Старый 14.11.2008, 18:24   #25
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Sleep не нужен. Программа стоит на месте, прервать не получится. Чтобы прервать нужно чтобы управление дошло до вызова функции прерывания, а так программа 700 мс стоит на месте. Если нужна задержка используйте лучше таймер.
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 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - СКЛЕИВАНИЕ ФАЙЛОВ Pblog Обсуждение статей 0 07.08.2007 12:41