:: Visual Foxpro, Foxpro for DOS
BASS.DLL
Tryndec
Автор

Сообщений: 3
Дата регистрации: 25.03.2009
Помогите, кто может: В VFP 9.0 не работает функция BASS_ChannelSetPosition
Делаю так:

DECLARE LONG BASS_Free IN BASS.dll
DECLARE LONG BASS_StreamFree IN BASS.dll LONG hangle
DECLARE LONG BASS_Init IN BASS.dll LONG device, LONG freq, LONG flags, INTEGER win, LONG clsid
DECLARE INTEGER BASS_StreamCreateFile IN BASS.dll LONG mem, STRING FileMP3, LONG offset, LONG length, LONG MP3flags
DECLARE LONG BASS_ChannelPlay IN BASS.dll LONG handle, LONG restart
DECLARE LONG BASS_ChannelSeconds2Bytes IN BASS.DLL LONG handle, double pos
DECLARE LONG BASS_ChannelSetPosition IN BASS.DLL LONG handle, LONG pos, LONG mode
BASS_Free()
BASS_Init(-1, 44100, 0, 0, 0)

_file_mp3="C:\123.mp3"
_i1=120 && С какой секунды воспроизводить mp3-файл

chan5_=BASS_StreamCreateFile(0, _file_mp3, 0, 0, 0)
BASS_ChannelPlay(chan5_,-1)
SET STEP ON
_yn=BASS_ChannelSetPosition(chan5_, BASS_ChannelSeconds2Bytes(chan5_, _i1), 0)
*
if chan5_#0
BASS_StreamFree(chan5_) && Освободить
endif
BASS_Free()

Возможно, неправильно объявлена функция BASS_ChannelSetPosition
Всё остальное работает.



Исправлено 2 раз(а). Последнее : Tryndec, 02.07.18 15:10
Ratings: 0 negative/0 positive
Re: BASS.DLL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Документация говорит о том что 2 параметр там QWORD - это 8 байт. В фоксе нет такого типа для DECLARE DLL, но можно просто передать два DWORD-а с "половинками" нужного числа.

См. пример тут
forum.foxclub.ru


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: BASS.DLL
Tryndec
Автор

Сообщений: 3
Дата регистрации: 25.03.2009
Уважаемый Игорь, большое Вам спасибо ! Всё заработало !
Не сразу ответил, т.к. только сегодня посмотрел здесь (на форуме), т.к., вроде бы, должно было прийти на e-mail (там настроено)...



Исправлено 1 раз(а). Последнее : Tryndec, 13.07.18 12:49
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 (Гостей: 30)

© 2000-2024 Fox Club 
Яндекс.Метрика