Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Client getSoundWaveData

Статус
В этой теме нельзя размещать новые ответы.

PI

The world on the edge of reality
Функция getSoundWaveData получает данные формы волны для аудиопотока, который представляет собой таблицу с плавающей точкой, представляющую текущий аудиокадр в виде волны. Это позволяет такие вещи, как визуализация.
Если элемент является игроком, эта функция будет использовать голос игрока.

Синтаксис:
table getSoundWaveData ( element sound, int iSamples )

OOP Syntax:
Method
: sound:getWaveData(...)

Обязательные аргументы:
sound
: звуковой элемент, который создается с помощью PlaySound или playSound3D . Потоки также поддерживаются
iSamples: разрешенные образцы: 256, 512, 1024, 2048, 4096, 8192 и 16384.

Возвращает:
Возвращает таблицу из iSamples поплавки, представляющий текущий кадр звука сигнала. Возвращает false, если звук еще не воспроизводится или не буферизован в случае потоков.

Примеры:
В этом примере создается визуализатор звука в верхнем левом углу экрана.
Код:
soundHandler = playSound ( "sound.wav" )

function onSoundPlayRender ( )
    if ( soundHandler ) then
        local waveData = getSoundWaveData ( soundHandler, 256 )
    if ( waveData ) then
            for i=0,255 do
                dxDrawRectangle ( i, 128, 1, waveData[i] * 128)
            end
        end
    end
end
addEventHandler ( "onClientRender", getRootElement(), onSoundPlayRender )
В этом примере создается средство просмотра звука, но только с полосами вниз.
Код:
soundHandler = playSound ("audio.mp3")
local samples = 256

function renderWave ()
    if (isElement (soundHandler)) then
        local waveData = getSoundWaveData (soundHandler, samples)
        for i=0, samples-1 do
            if (waveData) then -- Avoid NaN values.
                dxDrawRectangle (i, 128, 1, math.abs (waveData[i]) * 128)
            end
        end
    end
end
addEventHandler ("onClientRender", root, renderWave)
В этом примере создается средство просмотра звука, но только с полосами вверх.
Код:
soundHandler = playSound ("audio.mp3")
local samples = 256

function renderWave ()
    if (isElement (soundHandler)) then
        local waveData = getSoundWaveData (soundHandler, samples)
        for i=0, samples-1 do
            if (waveData) then -- Avoid NaN values.
                dxDrawRectangle (i, 128, 1, math.abs (waveData[i]) * -128)
            end
        end
    end
end
addEventHandler ("onClientRender", root, renderWave)
В этом примере создается средство просмотра звука в правом нижнем углу экрана.
Код:
soundHandler = playSound ("audio.mp3")
local x, y = guiGetScreenSize ()
local samples = 256

function renderWave ()
    if (isElement (soundHandler)) then
        local waveData = getSoundWaveData (soundHandler, samples)
        for i=0, samples-1 do
            if (waveData) then -- Avoid NaN values.
                dxDrawRectangle ((x-samples)+i, y-128, 1, waveData[i] * 128)
            end
        end
    end
end
addEventHandler ("onClientRender", root, renderWave)
Изменения:
В версии 1.3.2 - Добавлен элемент игрока, чтобы использовать голос игрока
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу