Зацикливание звуков

Сообщения
775
Реакции
293
Помог
11 раз(а)
Задался вопросом, как зациклить звук.
Т.е. не создавать овер длинный звук. А после того как он кончится, запускать его заного.
Попробовал через программу GoldWave, но чет ни черта не вышло, от слова совсем.
Может кто уже делал и может рассказать как это делается.
Либо может кто-то поможет зациклить звук
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
В чём проблема зациклить воспроизведение через set_task или think + get_gametime?
Вроде бы GoldWave для относительно новых билдов не работает корректно (это не точно).
 
Сообщения
1,560
Реакции
1,572
Помог
2 раз(а)
А после того как он кончится, запускать его заного.
Моя история была такой...
Когда я ещё начинал делать погоду,мне нужно было воспроизводить звук дождя постоянно игроку,но не всем сразу.
И после проигрывания его, после 45 секунды - запускать его заново.
  • ко всему этому,он должен был слышать отдельный звук в укрытии,а тот хукать снаружи
  • должен он неперебиватся с остальными звуками вообще

Я то решил это всё - но вот там всёравно какой-то баг,и если я правильно понял - то если звук заканчивается,и попадает другой звук ровно в ту секунду Таска,когда закончился первый - то один из их не проигрывается

Интересная особенность,что spk и speak отличаются - что касательно Вавок ( как и говорил Turanga_Leela )
Вдруг что Источник

client_cmd(id, "speak sound/*.wav") // - воспроизводит с прерываниями при частом вызове
client_cmd(id, "spk sound/*.wav") // - нормально воспроизводит

Вариант spk мне не подошёл - так как другие звуки прерывались,как только они начинали воспроизведение.И что-то там ещё было - не помню уже
А вот speak для конкретного игрока подошёл отлично со всеми другими звуками,включая как и для игрока конкретного,так и для глобального воспроизведения

Как сказал выше Бизон - подойдёт обычный таск по сути...
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
Если звук надо воспроизводить в точке или от игрока - GoldWave. Сначала прогоняешь через GSWave чтоб звук был рабочий, потом через GoldWave ставишь метку старта и метку конца, потом через эмитсоуд + static канал воспроизводишь звук, и он будет работать пока SND_STOP не заюзаешь или каналне перебьют. Если лично на игроке надо (чтоб не могли слышать другие) не знаю, не было нужно такое

Работает нормально даже на последних билдах ReHLDS (если бизон говорит про это) + GSClient
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
bizon, была надежда , что есть альтернатива
MayroN, спасибо за инфу, но я использую эмитсаунд.

Вообще странно в эмите сделали, флаг стоп, но вот флаг репит не придумали
1 Июл 2022
g3cKpunTop, я сначала звук через аимп конвертировал в wav. Следом сделал через GoldWave.

1656701915339.png и вот так 1656701945031.png
увы результат никакой
 

Download all Attachments

Сообщения
74
Реакции
61
Помог
1 раз(а)
C++:
new const SOUN_RAIN[] = "zmeat/fx/rain6.wav"; //loop
new const SOUN_RAIN_ROOF[] = "zmeat/fx/rain_roof2.wav"; //loop
new const SOUN_BLIZZARD[] = "zmeat/fx/blizzard2.wav"; //loop

{
   
switch(g_iWeatherType) {
                case 1: { rh_emit_sound2(pId, pId, CHAN_STREAM, SOUN_RAIN, .vol = (g_bDay ? 0.7 : 1.0)); }
                case 2: { rh_emit_sound2(pId, pId, CHAN_STREAM, SOUN_BLIZZARD, .vol = (g_bDay ? 0.7 : 1.0)); }
            }
}
Вот примеры. Всё отлично работает.

Возможно ты просто метки неправильно поставил(их 2)
 

Вложения

  • 149.8 KB Просмотры: 1
Сообщения
775
Реакции
293
Помог
11 раз(а)
g3cKpunTop, погоди, так ты маркеры старт и стоп не ставил?
1656702804794.png
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
g3cKpunTop, погоди, так ты маркеры старт и стоп не ставил?
Посмотреть вложение 32952
ставил. 'start_cut' и 'end_cue' (или наобор 'cut_start', не помню) . Вот пример
Возможно еще не работает у тебя, потому что ты тайминги выставил с ошибкой.

Закрепленный звук выше делался через GoldWave (loop)
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
g3cKpunTop, у тебя видимо версия древнее, я последнюю скачал сегодня. потому у меня и окно другое. Ну похоже я сделал
1656703369140.png
Вот тут еще старт и стоп по нажимал и стало работать.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Если лично на игроке надо (чтоб не могли слышать другие) не знаю, не было нужно такое
Мессага SendAudio (реапи - rg_send_audio).

Работает нормально даже на последних билдах ReHLDS (если бизон говорит про это) + GSClient
Я говорил, что некорректно. Иногда звук просто прерывается (на N-нном повторе). Но я вообще не уверен, что дело в программе. Просто на старых билдах таких проблем не было, но так как их вряд ли можно считать актуальными, можно не заострять на этом речь.
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
Решение есть. Оно все то же что и раньше, только теперь манипуляций чуть больше
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Сообщения
494
Реакции
341
Помог
11 раз(а)
Nordic Warrior, не только CHAN_STATIC
Код:
#define CHAN_STREAM     5   /* allocate stream channel from the static or dynamic area */
#define CHAN_STATIC     6   /* allocate channel from the static area  */
#define CHAN_NETWORKVOICE_BASE  7   /* voice data coming across the network */
#define CHAN_NETWORKVOICE_END   500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */
Я вообще изначально подумал, что речь идёт просто о вопросе как послать исключительно клиенту звук без client_cmd.
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
Я вообще изначально подумал, что речь идёт просто о вопросе как послать исключительно клиенту звук без client_cmd.
Ну это понятно, я просто подметил, что если много плагинов, работающих со звуками будут действовать через мессагу, будет не очень.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу