BASS.lua

chapo

tg/inst: @moujeek
Автор темы
Всефорумный модератор
9,086
12,097
Версия MoonLoader
.026-beta
Почему при изменении оффсета или продолжительности звук не вопросизводится? Эти параметры надо указывать в мс?
Lua:
local file = 'moonloader\\basssound.ogg'
script_name("bass library test")
function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do
        wait(0)
    end
    local bass = require "lib.bass" -- загружаем модуль
    local radio = bass.BASS_StreamCreateFile(false, file, 2000, 4000, 0)
    bass.BASS_ChannelSetAttribute(radio, BASS_ATTRIB_VOL, 0.1) -- громкость
    bass.BASS_ChannelPlay(radio, false) -- воспроизвести
    wait(-1)
end
 

#Northn

Pears Project — уже запущен!
Всефорумный модератор
2,651
2,550
  • Нравится
Реакции: chapo

chapo

tg/inst: @moujeek
Автор темы
Всефорумный модератор
9,086
12,097
спасибо, работает, но как задать "точку остановки" воспроизведения без колхоза в виде wait?

это не работает
Lua:
bass.BASS_ChannelUpdate(radio, len_byte)

ну кароч я допер что я долбаеб. Все работает, мб кому-то пригодится:
Lua:
function playSound(sound, offset, length)
    local offset, length = offset / 1000, length / 1000
    local radio = bass.BASS_StreamCreateFile(false, sound, 0, 0, 0)
    local start_byte = bass.BASS_ChannelSeconds2Bytes(radio, offset)
    local len_byte = bass.BASS_ChannelSeconds2Bytes(radio, length)
    bass.BASS_ChannelSetPosition(radio, start_byte, 0)
    bass.BASS_ChannelUpdate(radio, len_byte)
    bass.BASS_ChannelSetAttribute(radio, BASS_ATTRIB_VOL, 1)
    bass.BASS_ChannelPlay(radio, false)
    lua_thread.create(function()
        wait(length)
        bass.BASS_ChannelStop(radio)
    end)
end
 
Последнее редактирование: