Reprodução de áudio com J2ME

votos
5

Qual é a melhor maneira de reproduzir áudio utilzing o libary J2ME Media? Por exemplo, eu deveria fazer uso da MMAPI ou devo apenas usar o (s String) método platformRequest do Midlet?

Publicado 23/01/2009 em 18:38
fonte usuário
Em outras línguas...                            


4 respostas

votos
7

O código a seguir deve trabalhar para 90-95% dos aparelhos lá fora, que oferecem suporte a JSR-135. Ordenação de todas as várias chamadas de método é a chave para que isso seja portátil. Isto é para sons locais para o seu JAR. Qualquer áudio streaming seria um outro problema completamente :)

// loads the InputStream for the sound
InputStream inputStream = this.getClass().getResourceAsStream( musicFile );

// create the standard Player
musicPlayer = Manager.createPlayer( inputStream, musicEncoding );
musicPlayer.prefetch();

// add player listener to access sound events
musicPlayer.addPlayerListener( this );

if( loopMusic )
{    
    // use the loop count method for infinite looping
    musicPlayer.setLoopCount( -1 );
}

// The set occurs twice to prevent sound spikes at the very 
// beginning of the sound.
VolumeControl volumeControl = 
   (VolumeControl) musicPlayer.getControl( "VolumeControl" );
volumeControl.setLevel( curVolume );

// finally start the piece of music
musicPlayer.start();

// set the volume once more
volumeControl = (VolumeControl) musicPlayer.getControl( "VolumeControl" );
volumeControl.setLevel( curVolume );

// finally, delete the input stream to save on resources
inputStream.close();
inputStream = null;
Respondeu 26/01/2009 em 15:27
fonte usuário

votos
3

Ao melhor , o que você quer dizer? A mais alta qualidade? Melhor experiência do usuário? A maioria compatível com os padrões?

Basicamente (este não é o melhor tipo de resposta que eu sei), que depende da plataforma - algo que é um tema familiar com J2ME - desde as implementações podem variar bastante eo MMAPI geralmente aproveita alguns media player software / hardware nativo. No BlackBerry a MMAPI funciona muito bem, com algumas peculiaridades.

Meu conselho é usar a MMAPI, onde ele funciona bem - ele vai dar-lhe a aplicação mais portátil. Experimentar ou procure as placas de desenvolvimento para o seu dispositivo alvo específico definido para ver o quão bem ele funciona nos aparelhos que você deseja apoiar.

Respondeu 26/01/2009 em 15:03
fonte usuário

votos
0

Em alguns dispositivos, utilizando um pedido plataforma fará com que seu aplicativo para fechar e em outros certos pedidos plataforma irá falhar o dispositivo (qualquer coisa diferente de HTTP URLs em alguns dispositivos).

Então você pode precisar usar ambas as abordagens, a escolha de qual usar baseado em testes de dispositivo.

Respondeu 26/01/2009 em 15:34
fonte usuário

votos
-1

áudio local (em arquivo JAR) é mais fácil de suportar, como explicado na resposta de Shane acima. Para o conteúdo através da web torna-se muito mais difícil que uma série de fatores, como problemas de conectividade de servidor, aparelhos de memória etc entram em jogo. Se você vai ser obrigado a suportar um grande número de aparelhos, em seguida, seu aconselhável para trabalhar em 2-3 técnicas de implementação e uso em conformidade.

Respondeu 27/01/2009 em 02:23
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more