erickck
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Zloy_Gelud, Огромное спасибо! И еще вопрос по той же bass. Создаю синхронизатор, который срабатывает при обновлении трека на станции. Создал по примерах callback-функцию, но при обновлении песни, программа вылетает. Можно ли через MemoryEx создавать callback-функции? Код: require "alien" bass = alien.load(_SourceFolder.."\\bass.dll") --callback function cl_bak(handle,channel,data,user) bass.BASS_ChannelGetTags:types{ret = "string", "ulong", "ulong", abi="stdcall"} meta = bass.BASS_ChannelGetTags(current_chanell, 5) Dialog.Message("next song", meta); end callback_func = alien.callback(cl_bak,{"ulong","ulong","ulong","ulong",abi="stdcall"}) bass.BASS_ChannelSetSync:types{"uint","uint","uint","callback","uint", abi="stdcall"}; BASS_SYNC_META = 4; --init bass.BASS_Init:types{"int", "uint", "uint", "int", "uint", abi="stdcall"} init = bass.BASS_Init(-1, 44100, 0, 0, 0) if init ~= 0 then bass.BASS_StreamCreateURL:types{"string", "uint", "uint", "int", "uint", abi="stdcall"} current_chanell = bass.BASS_StreamCreateURL("http://sc2c-sjc.1.fm:7700", 0, 0, 0, 0) if current_chanell ~= 0 then bass.BASS_ChannelPlay:types{"ulong", "int", abi="stdcall"} isplay = bass.BASS_ChannelPlay(current_chanell, 0) if isplay ~= 0 then bass.BASS_ChannelGetTags:types{ret = "string", "ulong", "ulong", abi="stdcall"} meta = bass.BASS_ChannelGetTags(current_chanell, 5) sync_id = bass.BASS_ChannelSetSync(current_chanell,BASS_SYNC_META,0,callback_func,0) Dialog.Message("song", meta) end end end |
|