Ir ao conteúdo
  • Cadastre-se
nanquinote

áudio e c++

Recommended Posts

Gente, qual a forma mais fácil de tocar arquivos de áudio em C++? Qual a melhor biblioteca? (pro Windows).

Qual a relação entre essas bibliotecas e os formatos de arquivo de áudio (mp3, wav, etc)? Qual a melhor e mais prática pra mp3? Já pesquisei bastante, mas não encontrei nada definitivo. Daí queria a opinião de vocês...

 

O que quero fazer: uma espécie de minijogo, em que uma música é tocada e o user tem que acertar o artista.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para audio+jogos hmmm, recomendaria SFML. Seria algo tão fácil como criar a variável que vai suportar a musica, carregar a musica desde o arquivo de áudio e depois reproduzir... algo como:

sf::Music music;

if (!music.openFromFile("music.ogg"))

return -1; // error

else

music.play();

 

porém olho! Não to dizendo que seja fácil aprender a usar essa biblioteca, ela está mais enfocada em jogos. Então você teria que aprender um mínimo sobre ela certamente. porém se escolher outra você não teria essa facilidade. Eu provaria vamos, em meia hora certamente você teria a musica tocando porém o jogo.... >_<

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, nanquinote disse:

Devagar chego lá uma hora...

Claro que sim! ;)

Se necessitar ajuda com a biblioteca aqui estamos, não sou um expert mas a criação de jogos é o motivo principal pelo qual eu aprendi, e aprendo a programar diariamente, o jogo ainda não saiu -_-', mas tem que sair um dia desses. >_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp Seu jogo vai sair em breve, isso é evidente. ;)

 

Tive um problema logo na instalação da biblioteca no code blocks, fiz alguma coisa errada. Quando chegar em casa vou tentar novamente. Queria fazer esse jogo porque ACHEI (me iludi) que fosse ser tranquilo... Mas tudo bem, vou aprendendo no caminho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp no site de download da SFML só tem até GCC 4.9.2 

 

sendo que a versão do meu gcc é 4.9.3, isso pode ter sido um problema?

*sim, segundo esse post: http://en.sfml-dev.org/forums/index.php?topic=20512.0

 

outra... qual a diferença entre MinGW e TDM?

Editado por nanquinote

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, nanquinote disse:

a versão do meu gcc é 4.9.3, isso pode ter sido um problema?

Eu uso gcc 5.3 com essa mesma versão e funciona perfeito, porém você mesma pode compilar o SFML se quiser, mas não acho necessário. Qual erro te esta dando e que passos está seguindo?

 

1 hora atrás, nanquinote disse:

outra... qual a diferença entre MinGW e TDM?

depende do compilador que você usa, se usar mingw use mingw, se uasr TDM use TDM. ;) Se tiver muitos problemas podemos entrar em chat para configura-lo

Editado por vangodp

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp Então, eu tentei compilar usando o cmake pelo tutorial, mas faltou o cmakelists.txt e eu desisti. Daí tentei desinstalar o mingw para instalar a versão compatível, mas deu erro na hora de baixar os pacotes porque a página do sourceforge onde estão os arquivos caiu, aparentemente =/

 

http://www.mingw.org/ > downloads = 404

 

tô esperando voltar

Editado por nanquinote

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp Quero sim, valeu mesmo. Olha o que tá acontecendo aqui:

 

Como eu não estou usando IDE (só sublime e o mingw) e a instalação pelo codeblocks deu problema, estou tentando usá-la sem IDE mesmo...

Eu tenho 3 pastas no C:\ ... fontes, MinGW e sfml

Eu abro e prompt e vou até a pasta c:\fontes, onde coloquei a main.cpp

 

1 - dizer ao compilador onde achar os header SFML:

g++ -c main.cpp -I c:\sfml\include

...OK, deu certo

 

2. linkar o arquivo compilado às 5 bibliotecas do sfml (5 modulos)

g++ main.o -o sfml-app -L c:\sfml\lib -lsfml-graphics -lsfml-window -lsfml-system

 

**Estou colocando o caminho, porque diz que é preciso se eu não tiver colocado na pasta padrão (que eu não sei qual seria)

**Aqui na pasta c:\sfml\lib os arquivos .a são chamados "libsfml-graphics", etc. Mas já tentei assim e não foi.

 

Nesse passo 2 recebo o mesmo erro que dava no codeblocks,  um "undefined reference" pra tudo quanto é classe

 

Citação


main.o:main.cpp:(.text+0xed): undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'
main.o:main.cpp:(.text+0x113): undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'
main.o:main.cpp:(.text+0x14f): undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'
main.o:main.cpp:(.text+0x185): undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'
main.o:main.cpp:(.text+0x196): undefined reference to `_imp___ZN2sf5Color5GreenE'
main.o:main.cpp:(.text+0x1a0): undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
main.o:main.cpp:(.text+0x1c0): undefined reference to `_imp___ZN2sf6Window5closeEv'
main.o:main.cpp:(.text+0x1d5): undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'
main.o:main.cpp:(.text+0x207): undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'
main.o:main.cpp:(.text+0x222): undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'
main.o:main.cpp:(.text+0x235): undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'
main.o:main.cpp:(.text+0x249): undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
main.o:main.cpp:(.text+0x25b): undefined reference to `_imp___ZN2sf6Window7displayEv'
main.o:main.cpp:(.text+0x26a): undefined reference to `_imp___ZNK2sf6Window6isOpenEv'
main.o:main.cpp:(.text+0x293): undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'
main.o:main.cpp:(.text+0x2b6): undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'
main.o:main.cpp:(.text+0x2f0): undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'

 

 

Pelo que li e entendi, eu só estou com arquivos na pasta errada ou sei lá...

 

Os tutoriais que tô seguindo hoje são esses aqui de baixo, e o código que tô usando é esse do tutorial mesmo.

(É o mesmo erro que dava no codeblocks)

 

http://en.sfml-dev.org/forums/index.php?topic=18631.0

http://www.sfml-dev.org/tutorials/2.1/start-linux.php

 

O que está acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ver... não sofras más hahaha busca la no skype vangodp vamp e te ajudo a por o codeblocks em funcionamento >_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp oi, vangodp. desculpa a demora. já resolvi, tive que baixar outra versão do compilador e foi.

não queria te dar esse trabalho todo do skype, mas obrigada, é difícil achar gente solicita como você.

 

agora vou tentar instalar com cmake....

 

se eu demorei esse tempo todo pra instalar, imagina pra usar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×