Проигрывание звуков

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Все здравствуйте.
Решил разобраться со своим старым, давно мучающим меня, вопросом. Мне нужно проиграть звук.
Например, есть один постоянный звуковой файл, к нему, как-бы последовательно, нужно добавить еще какой либо звук, и проиграть это в общем.
Например:
1. есть звуковой файл "игрок номер"
2. есть звуковой файл "один"
3. есть звуковой файл "два"
и т.д.
В итоге, мне нужно проиграть объединенный звук, состоящий из 2 звуков ("игрок номер" + "один")

По какому принципу это делается? Как нибудь попроще. Не могу сообразить с чего начать.
Может быть отформатировать как текстовый? Потом что делать!?
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Все здравствуйте.
Решил разобраться со своим старым, давно мучающим меня, вопросом. Мне нужно проиграть звук.
Например, есть один постоянный звуковой файл, к нему, как-бы последовательно, нужно добавить еще какой либо звук, и проиграть это в общем.
Например:
1. есть звуковой файл "игрок номер"
2. есть звуковой файл "один"
3. есть звуковой файл "два"
и т.д.
В итоге, мне нужно проиграть объединенный звук, состоящий из 2 звуков ("игрок номер" + "один")

По какому принципу это делается? Как нибудь попроще. Не могу сообразить с чего начать.
Может быть отформатировать как текстовый? Потом что делать!?
Не совсем понял что тут сложного, запускаешь "игрок номер", он у тебя допустим длится 1.0 сек, следовательно ставишь таймер на 1.0 и запускаешь другой звук например "один"
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
мне нужно проиграть объединенный звук, состоящий из 2 звуков ("игрок номер" + "один")

А если разновидностей этих "один" будет тысяча или больше? Я так могу просто готовых файликов по-на записать.
Мне нужен готовый, отформатированный звук, при прехеше что-ли. Примерно так, как форматируются текстовые сообщения, перед выводом на экран.
Как это можно сделать?
Может быть, что то типа матрицы сделать? Потом в цикле находить в матрице нужный звук по номеру элемента, "игрок номер" будет постоянным.

О....! Сам себе подсказал.
Если действительно при прехеше звуков, сразу записывать их в матрицу? И проигрывать уже прехешенные форматированные звуки. Хотя... они и так уже прехешенные.
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #4
@tonline_kms65_1, либо производите сцепление всех звуков динамически через расширения (или можете производить это на Павне, что будет тем ещё извращением), а после отправляете на клиент через FileNetMessages, либо делаете приблизительно такой алгоритм:
  1. Проигрываете звук Х.
  2. Получаете длительность звука Х. GetSoundDuration · sdktools_sound · SourceMod Scripting API Reference
  3. Создаёте таймер для воспроизведения Y, где в качестве времени, через которое он должен сработать, выставляете продолжительность звука Х.
  4. В таймере воспроизводите Y.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #6
@tonline_kms65_1, на Павне готовой реализации нет. Можете посмотреть, как в целом устроен сам файл звука, да составить датаврайтер с датаридером файла.
 
Сверху Снизу