¿Cuál es la mejor manera de reproducir audio utilizando J2ME Media Libary? Por ejemplo, ¿debería utilizar MMAPI o debería simplemente utilizar el método platformRequest (String s) de Midlet?Reproducción de audio con J2ME
Respuesta
Por mejor, ¿qué quieres decir? ¿De la máxima calidad? La mejor experiencia de usuario? La mayoría de los estándares cumple?
Básicamente (este no es el mejor tipo de respuesta que conozco), depende de la plataforma - algo que es un tema familiar con J2ME - ya que las implementaciones pueden variar ampliamente y el MMAPI usualmente aprovecha algún software/hardware nativo . En BlackBerry, el MMAPI funciona muy bien, con algunos caprichos.
Mi consejo es usar el MMAPI donde funciona bien, le dará la aplicación más portátil. Experimente o explore las placas de desarrollador para su conjunto específico de dispositivos de destino para ver qué tan bien funciona en los teléfonos que desea admitir.
El siguiente código debería funcionar para el 90-95% de los teléfonos compatibles con JSR-135. El pedido de todas las diversas llamadas a métodos es la clave para que esto sea portátil. Esto es para sonidos locales a su JAR. Cualquier archivo de audio streaming sería otro problema por completo :)
// 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;
En algunos dispositivos que utilizan una petición plataforma hará que su aplicación a cerrar y en otras ciertas peticiones de la plataforma se bloqueará el dispositivo (otra cosa que no sea HTTP URL en algunos dispositivos) .
Por lo tanto, es posible que deba utilizar ambos métodos, eligiendo cuál usar según las pruebas del dispositivo.
El audio local (en archivo Jar) es más fácil de admitir, como se explica en la respuesta anterior de Shane. Para el contenido en la web se vuelve mucho más difícil ya que entran en juego muchos factores, como problemas de conectividad del servidor, memoria de los teléfonos, etc. Si se le solicitará que admita una gran cantidad de teléfonos, es recomendable trabajar con 2 o 3 técnicas de implementación y usar en consecuencia.
- 1. Reproducción de audio con HTML5
- 2. Reproducción de archivos de audio con Python
- 3. Reproducción de transmisiones de audio seguras con audio HTML5
- 4. Reproducción de audio con controles en iOS
- 5. Reproducción de audio en HTML
- 6. Reproducción de audio hacia atrás
- 7. pygame velocidad de reproducción de audio
- 8. Procesamiento de audio: Reproducción con nivel de volumen
- 9. Reproducción de audio con HTML5 en el navegador de Android
- 10. Reproducción de audio en .Net/C#
- 11. Marquesina de inicio en reproducción de audio
- 12. Grabación y reproducción de audio en Silverlight
- 13. Sincronización HTML5 <video> con <audio> reproducción
- 14. Reproducción automática y detener el audio html5 con jquery
- 15. Reproducción de audio de un flujo continuo de datos (iOS)
- 16. Reproducción de audio html5 en el navegador de Android
- 17. iphone: ¿reproducción de lista de reproducción de audio en segundo plano?
- 18. Reproducción de audio de 24 bits no posible
- 19. Reproducción de música continuamente con el nombre
- 20. AVAudioPlayer - reproducción de archivos de audio múltiples, en secuencia
- 21. Android: Reproducción de un clip de audio enHaga clic en
- 22. Buscando una biblioteca de reproducción de audio simple para C++
- 23. Lista de reproducción de video o audio HTML 5
- 24. Reproducción de archivos de audio, uno tras otro
- 25. iPhone: Cambiar la velocidad de reproducción de Audio Units
- 26. ios unidad de audio remoteIO reproducción durante la grabación
- 27. Android La grabación y la reproducción de audio están corruptas
- 28. Reproducción de audio en varias ocasiones en Android
- 29. Reproducción de audio sincronizada en dispositivos Android separados
- 30. iPhone OS 4 Multitarea - Reproducción de audio En segundo plano
Realmente depende de lo que quieras hacer ... deberías ser mucho más específico con lo que estás buscando. Si quieres reproducir un MP3, es bastante fácil. Si desea transmitir audio a través de Internet, es casi imposible. – joeforker