Пятница, 03 Мая 2024, 21:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » SDL_mixer (портирование кода с C++ под Pascal)
SDL_mixer
kventin-lДата: Вторник, 20 Марта 2012, 20:17 | Сообщение # 1
уже был
Сейчас нет на сайте
Необходимо было портировать некоторый код с C++ на Pascal;
Code
#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
#include <iostream>
using namespace std;

int main(int argc, char **argv) {
    SDL_Init(SDL_INIT_AUDIO);
       
    if (Mix_OpenAudio(16000, AUDIO_S16SYS, 2, 4096) < 0) {
     cout << "mixer init error\n";
     return 1;    
    }

       
    Mix_Chunk *sfx = Mix_LoadWAV("main.wav");
    Mix_PlayChannel(-1, sfx, 0);
       
    SDL_Event event;
    bool gameRunning = true;
    while (gameRunning){
       if (SDL_PollEvent(&event)){
          if (event.type == SDL_QUIT){
              gameRunning = false;
          }
    }
    }
    Mix_CloseAudio();
      SDL_Quit();
    return 0;
}


Вот что вышло на паскале:

Code

uses
windows,
gl,
glu,
sysutils,
shlobj,
sdl,
sdl_mixer,
png,
crt;

...

var sfx: PMix_Chunk;
event : TSDL_Event;

...

begin
....

SDL_Init(SDL_INIT_TIMER or SDL_INIT_AUDIO);
if (Mix_OpenAudio(16000, AUDIO_S16SYS, 2, 4096) <0)
then Writeln('AUDIO ERROR');
sfx:=Mix_LoadWAV('main.wav');
Mix_PlayChannel(-1,sfx,0);
...

repeat
.....

until active=false;

...

Mix_CloseAudio();
SDL_Quit();
end.

Файлы все лежат на месте все ок. Но звук не воспроизводится. Если кто делал уже звук средствами SDL поделитесь, пожалуйста, ради мира во вселенной biggrin



Сообщение отредактировал kventin-l - Вторник, 20 Марта 2012, 20:18
BASSДата: Вторник, 20 Марта 2012, 20:24 | Сообщение # 2
independent developer
Сейчас нет на сайте
Так и под Delphi и под Free Pascal есть заголовочные файлы, это раз.
Вдобавок к заголовкам справка полагается, на английском, но читабельная (я имею в виду заголовки JEDI-SDL) - это два.


Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
kventin-lДата: Вторник, 20 Марта 2012, 20:25 | Сообщение # 3
уже был
Сейчас нет на сайте
Ну как бы справку я читал, джедаевские хедеры и так юзаются. facepalm
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » SDL_mixer (портирование кода с C++ под Pascal)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг