Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2009, 15:33   #1
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию Tbassplayer некторые поблемы(((

После добавления на форму компонента Tbassplayer. Все вроде работает, но пир выходе из приложения выдает http://s45.radikal.ru/i107/0902/3d/9460894cec25.bmp
Что сделать? Что не так? Delphi7!

Вообще как пользоваться этим компонентом? Для него нужна вся библиотека bass? Или просто bass.dll?
Anfall вне форума Ответить с цитированием
Старый 10.02.2009, 17:13   #2
Котовский
Пользователь
 
Аватар для Котовский
 
Регистрация: 24.12.2008
Сообщений: 19
По умолчанию

корочи папарядку, выдает у тибя ошибку доступа, то есть твоя прога получила по рукам за неправильную работу с распределением памяти, смотри там, где у тебя идет динамическое распределение памяти - открытые массивы, указатели итд. далее впрос я ни понял: Для него нужна вся библиотека bass? Или просто bass.dll? попрафьте миня, если я не прав, но помоиму bass.dll- эта как раз и есть библиотека (фся)
Пока жирафы думают, кролики делают!
Котовский вне форума Ответить с цитированием
Старый 10.02.2009, 17:34   #3
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

У меня вот это работает. Подключил файл bass.pas и кинул bass.dll в директорию с программой
Код:
private
    mods: array[0..128] of HMUSIC;
    modc: Integer;
    sams: array[0..128] of HSAMPLE;
    samc: Integer;
    strs: array[0..128] of HSTREAM;
    strc: Integer;
    procedure Error(msg: string);
...

Procedure FormCreate;
begin
 //////
 
	// check the correct BASS was loaded
	if (HI(BASS_GetVersion) <> BASSVERSION) then
	begin
		MessageBox(0, 'An incorrect version of BASS.DLL was loaded', nil, MB_OK);
		Halt;
	end;

	// Initialize audio - default device, 44100hz, stereo, 16 bits
	if not BASS_Init(-1, 44100, 0, Handle, nil) then
		Error('Error initializing audio!');
  //////

end;

Procedure FormClose;
begin
//////

    (*
     (It's not actually necessary to free the streams, musics and
     samples because they are automatically freed by BASS_Free.)
	*)

	// Free stream
  if strc > 0 then
    for a := 0 to strc - 1 do
    	BASS_StreamFree(strs[a]);

    // Free music
	if modc > 0 then
		for a := 0 to modc - 1 do
			BASS_MusicFree(mods[a]);

	// Free samples
	if samc > 0 then
		for a := 0 to samc - 1 do
			BASS_SampleFree(sams[a]);

	// Close BASS
	BASS_Free();

//////
end;

procedure Play;
f: PChar;
i: Integer;
ch: HCHANNEL;
begin
        f := PChar(ExtractFileDir(Application.ExeName) +'/sound/alarm.wav');
         Form1.sams[0] := BASS_SampleLoad(FALSE, f, 0, 0, 3, BASS_SAMPLE_OVER_POS);

         // Play the sample at default rate, volume=50, random pan position

         ch := BASS_SampleGetChannel(Form1.sams[0], False);
         BASS_ChannelSetAttribute(ch, BASS_ATTRIB_PAN, Random(200) - 100);
         BASS_ChannelSetAttribute(ch, BASS_ATTRIB_VOL, 50);
         if not BASS_ChannelPlay(ch, False) then
              Form1.Error('Error playing sample!');
end;
Вложения
Тип файла: zip bass.zip (102.2 Кб, 44 просмотров)

Последний раз редактировалось knight; 10.02.2009 в 18:06.
knight вне форума Ответить с цитированием
Старый 10.02.2009, 17:52   #4
Котовский
Пользователь
 
Аватар для Котовский
 
Регистрация: 24.12.2008
Сообщений: 19
По умолчанию

таки гиде ошпка-та начинается, перед закрытием надо все каналы освобождать BASS_SampleFree. и ваще пападробней. чей-та ты ваще делаиш, я че та пока ни вник. особина массивы дискрипторов посли дириктивы private?
Пока жирафы думают, кролики делают!
Котовский вне форума Ответить с цитированием
Старый 10.02.2009, 18:07   #5
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Цитата:
Сообщение от Котовский Посмотреть сообщение
таки гиде ошпка-та начинается, перед закрытием надо все каналы освобождать BASS_SampleFree. и ваще пападробней. чей-та ты ваще делаиш, я че та пока ни вник. особина массивы дискрипторов посли дириктивы private?
у меня нет никаких ошибок
это у Anfall ошибки...

добавил процедуры инициализации - завершения... что-то я их забыл скопировать из исходника...
knight вне форума Ответить с цитированием
Старый 10.02.2009, 18:10   #6
Котовский
Пользователь
 
Аватар для Котовский
 
Регистрация: 24.12.2008
Сообщений: 19
Смех пардон!

Мою ноги, спать ложусь
Пока жирафы думают, кролики делают!
Котовский вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка TBassPlayer Zeraim Общие вопросы Delphi 1 29.05.2008 20:01
Компонент TBassPlayer Tankist_13 Помощь студентам 1 19.01.2008 22:19
Проблема с установкой TBassPlayer Format C: Компоненты Delphi 2 04.04.2007 13:32