manipulação de exceções
227
você está aquieste é um novo capítulo
Comportamento Arriscado
11 manipulação de exceções
Problemas acontecem. O arquivo não está no local. O
servidor está travado. Independentemente de quanto você é bom
em programação, não é possível controlar tudo. As coisas podem
sair errado. Muito errado. Quando criar um método perigoso, você
precisará de um código para manipular o que possa ocorrer de
errado. Mas como saber quando um método é perigoso? Onde
inserir o código que manipulará a situação excepcional? Até agora
neste livro, não nos arriscamos realmente. Sem dúvida tivemos
coisas que deram errado no tempo de execução, mas os problemas
eram em sua maioria falhas em nosso próprio código. Erros. E
devemos corrigir isso na hora do desenvolvimento. Não, o código de
manipulação de problemas sobre o qual estamos falando aqui será
direcionado a códigos que você não possa garantir que funcionarão
no tempo de execução. Códigos que precisem que o arquivo esteja
no diretório correto, que o servidor esteja sendo executado ou que
o thread permaneça em suspensão. E temos que fazer isso agora.
Porque, neste capítulo, construiremos algo que usará a perigosa API
JavaSound. Construiremos um MIDI Music Player.
É claro que é arriscado, mas
posso manipular o problema se
algo der errado.
228 capítulo 11
construindo o MIDI Music Player
Criemos uma máquina de música
Nos três capítulos a seguir, construiremos alguns aplicativos de som diferentes, inclusive
uma BeatBox Drum Machine. Na verdade, antes de terminar o livro, teremos uma versão
com vários participantes para que você possa enviar seus loops de bateria para outro
músico, semelhante ao que ocorre em uma sala de bate-papo. Você vai escrever o código
inteiro, embora possa optar por usar o código prede nido nas partes de GUI. Certo, nem
todo departamento de informática vai se interessar por um novo servidor de BeatBox, mas
estamos fazendo isso para aprender mais sobre Java. Construir uma BeatBox é apenas uma
maneira de nos divertir enquanto aprendemos Java.
A BeatBox concluída ficará semelhante a esta:
dance beat
Andy: groove #2
Chris: groove2 revised
Nigel: dance beat
Você criará o loop de uma beatbox (um padrão de bateria de 16
batidas) inserindo marcas de seleção nas caixas.
A mensagem que será enviada
para os outros músicos, junto
com o padrão de sua batida atual,
quando você pressionar “SendIt”.
As mensagens recebidas de
outros músicos. Clique em uma
para carregar o padrão que
veio com ela e, em seguida, clique
em ‘Start’ para reproduzi-lo.
Insira marcas de seleção nas caixas para cada uma das 16 ‘batidas’. Por exemplo, na primeira batida (das 16) o
bumbo e as maracas serão tocados, na batida 2 não haverá nada e na batida 3 haverá as maracas e o sombrero
fechado... Você deve ter entendido. Quando pressionar ‘Start’, seu padrão será reproduzido em um loop até que
‘Stop’ seja pressionado. A qualquer momento, você poderá “capturar” um de seus próprios padrões, enviando-o
para o servidor de BeatBox (o que signi ca que qualquer outro músico poderá escutá-lo). Você também poderá
carregar qualquer um dos padrões recebidos clicando na mensagem que veio com ele.
Começaremos com o básico
É claro que temos algumas coisas a aprender antes de o programa completo ser terminado, o que inclui como
construir uma GUI do Swing, como se conectar com outra máquina através da rede e um pouco de E/S para
que possamos enviar algo para a outra máquina.
Ah sim, há a API JavaSound. É por onde começaremos neste capítulo. Por enquanto, você pode esquecer a
GUI, a rede e a E/S e se dedicar somente a fazer com que algum som gerado em formato MIDI seja emitido
por seu computador. E não se preocupe se não souber nada sobre MIDI ou sobre ler ou fazer música. Tudo que
você precisar aprender será abordado aqui. Já estou quase sentindo o cheiro do contrato fonográ co.
A API JavaSound
A API JavaSound é um conjunto de classes e interfaces adicionado ao Java a partir da versão 1.3. Elas não são
complementos especiais; fazem parte da biblioteca padrão de classes da J2SE. Esse API foi dividido em duas
partes: MIDI e Sampled. Usaremos apenas a parte MIDI neste livro. MIDI signi ca Musical Instrument Digital
Get Use A Cabeça Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.