Olá! Comecei o curso de Java há pouco tempo, e também há pouco tempo comecei a ter contato com o Java. Eu tenho uma certa experiência em C++, principalmente para console MSDOS. Cheguei a fazer até programas gráficos usando a BGI do MSDOS. Mas, só agora estou tendo meus primeiros contatos com o Java. Em partes, a estrutura do código parece bem semelhante ao C++ e ao código fonte para IDE do Arduino (.ino). Enfim, comecei o curso de java e, paralelo ao curso, comecei a pesquisar coisas do meu interesse na internet, em busca de referências, exemplos, etc. Eu tenho vontade de trabalhar com gráficos e com DSP para áudio em Java. Embora isso ainda seja avançado para o meu nível de conhecimento em Java, vendo referências na internet e fazendo testes e tentativas, eu consegui fazer algumas coisas bem interessantes, mas não consigo sair do lugar.
Explicando melhor:
Gráfico e interface de usuário: Eu descobri como criar uma janela gráfica (JFrame) e nessa janela, colocar uma tela de fundo (JPanel), e nessa tela, inserir texto e botões. Mas ainda não consegui descobrir algumas coisas:
- Eu consigo mudar a cor do texto e do fundo do texto, mas não consigo posicioná-lo no JPanel e nem mudar o tamanho.
- Eu consigo inserir texto nos botões, consigo escolher a cor do texto e a cor do fundo, mas ainda não descobri como posicionar os botões, e também não descobri como colocar uma ação nesse botão, (algo como um método (void) que seja executado quando o usuário clica no botão).
Áudio: Usando as classes do package javax.sound.sampled. , eu consegui criar objetos de entrada/saída de áudio virtuais, cada um ligado á uma entrada/saída física do hardware. Mas não consigo usá-las. Ainda não descobri como ler amostragens (samples) da entrada e nem como mandar samples para a saída. O que eu tentei fazer inicialmente era um streaming. Ler uma entrada stereo e mandar as samples em tempo real para uma saída stereo. Mas ainda sem sucesso. Não me lembro exatamente o que era, (provavelmente uma classe que cria um objeto), chamado AudioFormat, que usa 5 parâmetros para streaming de áudio: número de canais, (eu geralmente uso stereo (2)); número de bits por sample (geralmente uso 16 ou 24); número de samples por segundo (geralmente uso 44100, 48000 ou 96000); e dois booleans que eu não me lembro agora a que se referem. Mesmo assim, ainda não consegui associar esse objeto AudioFormat aos objetos de entrada/saída virtuais.
Vocês podem me dar dicas, tanto na interface de usuário quanto na parte do áudio?
OBS: Não consegui inserir o código fonte nesse texto (ficou muito grande), então vou tentar colocá-lo como uma resposta a este tópico.
Obrigado!