Android WebView reproducir audio con javascript
Estoy intentando portar muy rápidamente sobre una aplicación del html con el sonido de las obras (con soundmanager2) a una aplicación androide nativa usando WebView. De mi investigación, no he visto ninguna evidencia de que el sonido, como mp3, se puede reproducir a través de javascript o cualquier otro método utilizando WebView.
Mi objetivo ahora es portar rápidamente sobre la aplicación html y luego eventualmente crear una aplicación verdaderamente nativa sin usar WebViews.
- No se carga el PDF de Android en el navegador y en WebView
- Android WebView canGoBack siempre es cierto
- Vista web de Android lenta
- Establecer una imagen de fondo para una vista web en Android
- Cómo buscar texto en la vista web
Por favor, hágamelo saber si alguien ha sido capaz de implementar con éxito la reproducción de audio utilizando WebViews y Javascript o si esto no es posible en este momento.
Gracias.
- El botón Atrás destruye la actividad de Crosswalk Android
- Webview html formulario de entrada no mostrar / permitir el teclado
- Google Drive, el visor de pdf ya no funciona en android
- ¿Puedo hacer que el elemento WebView "flote" encima de mi diseño principal?
- Cómo obtener contenido html desde una webview?
- Cómo manejar las devoluciones de llamada en la vista web
- WebView de Android manipula incorrectamente nuevas líneas en texto preformateado
- La casilla de comentarios de Facebook no se muestra en la vista web de Android
Juega con esto:
if(cm.message().contains("play sound")) { //String[] temp = cm.message().split("#"); AudioManager audiomanager= (AudioManager) getSystemService(AUDIO_SERVICE); float actualvolume = (float) audiomanager.getStreamVolume (AudioManager.STREAM_MUSIC); float maxVolume= (float) audiomanager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); float volume = actualvolume/maxVolume; if (loaded) { soundPool.play(soundID, volume, volume, 1, 54, 1f); Log.e("Test", "Played sound"); } } else if(cm.message().contains("stop sound")) { soundPool.stop(1); Log.e("Test","stoped"); } myWebView.loadUrl("file:///android_asset/timer.html"); soundID = soundPool.load(this, R.raw.sound1,1);
Que este trabajo para usted?
mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.endsWith(".ogg")){ Log.d(TAG, "Reproducir archivo OGG"); Uri tempPath = Uri.parse(url); MediaPlayer player = MediaPlayer.create(WebViewVideo.this, tempPath); player.start(); return true; }else{ return super.shouldOverrideUrlLoading(view, url); } } });
Si realmente quieres usar Javascript, puedes probar con document.open () o algo así, no lo he intentado, pero supongo que funcionaría de la misma manera.
Por cierto, este es el caso de que desea reproducir ese audio en el fondo, si desea mostrar el reproductor real, creo que tiene que implementar la vista por ti mismo.
Y si usted estaba considerando html5 etiqueta de audio, olvídalo. AFAIK Froyo no lo soporta de ninguna manera.
Espero que esto ayude y no es demasiado tarde.
Saludos.
- Robotium: Instale un nivel de API Android compatible (15 o superior)
- ¿Cómo analizar después de JSON usando GSON en android?