¿Es posible salir de la caja o por medio de una biblioteca?¿Hay alguna manera de reproducir archivos de video .flv en la aplicación de Android?
Respuesta
No, no es posible. La biblioteca de medios OpenCORE que proporciona la reproducción multimedia en Android no admite archivos .flv.
Puede encontrar una lista de formatos de medios compatibles here. Estos formatos son compatibles con Android genérico. En la misma página, encontrará algunos formatos adicionales compatibles con T-Mobile G1.
Por supuesto, es posible admitir formatos de medios adicionales en dispositivos específicos. Pero esto puede variar de un dispositivo a otro.
El HTC Hero tiene un tiempo de ejecución de Flash incorporado, sin embargo, esto no reproduce archivos FLV independientes. –
El Nexus One también tiene aparentemente Flash 10.1, pero no sé si puede reproducir archivos FLV independientes. – CommonsWare
Esto es incorrecto. Sí, es posible. Trabajé para una empresa que creó software de transmisión de video HD para su hardware, visible en iOS, Android y en un navegador web, usando FLV. Lamentablemente, no puedo compartir el código, pero puedo decir que definitivamente es factible. – jungledev
puede jugar FLV usando el complemento flash dentro de una WebView. vea aquí: http://www.synesthesia.it/playing-flash-flv-videos-in-android-applications
A menudo, cuando crea una aplicación que muestra contenido web en un dispositivo móvil, debe lidiar con videos FLV, aún ampliamente utilizados en la web (hasta que HTML5 domine el mundo). Lo mejor que puedes hacer es convertirlos con algún conversor (como ffmpeg), pero si no tienes acceso a videos originales o por alguna otra razón no puedes hacer la conversión en algún otro formato adecuado, aquí puedes encontrar un tutorial rápido sobre cómo incrustar y reproducir videos Flash FLV en una aplicación de Android.
Esto se hace mediante el uso de un WebView, un reproductor SWF capaz de reproducir archivos FLV y, por supuesto, el complemento Flash para Android instalado.
En primer lugar, crear un xml diseño con una vista Web, así:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<WebView android:layout_width="fill_parent" android:id="@+id/webview" android:layout_height="fill_parent"></WebView> </LinearLayout>
a continuación, crear la clase de actividad, aquí es un extracto:
package it.synesthesia.flvplayer;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.URLEncoder;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
public class ViewVideo extends Activity {
WebView webView;
String htmlPre = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"></head><body style='margin:0; pading:0; background-color: black;'>";
String htmlCode =
" <embed style='width:100%; height:100%' src='http://www.platipus.nl/flvplayer/download/1.0/FLVPlayer.swf?fullscreen=true&[email protected]@' " +
" autoplay='true' " +
" quality='high' bgcolor='#000000' " +
" name='VideoPlayer' align='middle'" + // width='640' height='480'
" allowScriptAccess='*' allowFullScreen='true'" +
" type='application/x-shockwave-flash' " +
" pluginspage='http://www.macromedia.com/go/getflashplayer' />" +
"";
String htmlPost = "</body></html>";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_video);
webView = (WebView)findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginsEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); //thanks Patrick!
htmlCode = htmlCode.replaceAll("@[email protected]", video_link);
webView.loadDataWithBaseURL("fake://fake/fake", htmlPre+htmlCode+htmlPost, "text/html", "UTF-8", null);
}
@Override
protected void onPause(){
super.onPause();
callHiddenWebViewMethod("onPause");
webView.pauseTimers();
if(isFinishing()){
webView.loadUrl("about:blank");
setContentView(new FrameLayout(this));
}
}
@Override
protected void onResume(){
super.onResume();
callHiddenWebViewMethod("onResume");
webView.resumeTimers();
}
private void callHiddenWebViewMethod(String name){
// credits: http://stackoverflow.com/questions/3431351/how-do-i-pause-flash-content-in-an-android-webview-when-my-activity-isnt-visible
if(webView != null){
try {
Method method = WebView.class.getMethod(name);
method.invoke(webView);
} catch (NoSuchMethodException e) {
Lo.g("No such method: " + name + e);
} catch (IllegalAccessException e) {
Lo.g("Illegal Access: " + name + e);
} catch (InvocationTargetException e) {
Lo.g("Invocation Target Exception: " + name + e);
}
}
}
}
algunas explicaciones:
- como dije, necesitas un reproductor FLV. Utilicé el gran & FLVPlayer gratis http://www.platipus.nl/flvplayer/download/1.0/
- El reproductor FLV debe residir en un sitio web en la red. Intenté poner el archivo .swf en la carpeta/assets de la aplicación y llamarlo desde allí, pero no pudo cargar el video FLV. si alguien puede arreglar esto, por favor avíseme!
- htmlCode contiene el código para mostrar el video como "pantalla completa" (completando el tamaño completo de la vista web).
- callHiddenWebViewMethod es muy importante, de lo contrario el video continuará reproduciéndose cuando la actividad ya no esté visible (y audio también). Credis a esto va al cartel de sliseshare vinculado en el comentario. ¡Gracias! ADVERTENCIA: ¡esto es principalmente un truco! tenga cuidado, las cosas no podrían funcionar como se espera o pueden dejar de funcionar en el futuro. Por cierto, funcionó muy bien para mí.
Si bien esto puede responder a la pregunta, [sería preferible] (http://meta.stackoverflow.com/q/8259) incluir aquí más partes esenciales de la respuesta y proporcionar el enlace de referencia. –
copié el artículo en la respuesta. – FrancescoR
parece que no funciona. – NarendraJi
Probar vitamio. Es una biblioteca similar a Mediaplayer que se puede importar a su proyecto muy fácilmente. Lo único es que también admite archivos de video flv.
- 1. ¿Cómo puedo reproducir diferentes archivos de video en la aplicación de Android?
- 2. Vaadin framework reproducir video
- 3. Reproducir video m3u8 en android
- 4. obtener longitud de video flv
- 5. ¿Hay alguna manera de hacer que VideoView siga jugando en segundo plano en la aplicación de Android?
- 6. ¿Cómo puedo reproducir archivos de video?
- 7. Cómo reproducir archivos de video de la biblioteca de activos
- 8. ¿Hay alguna manera de usar DRM en video HTML5?
- 9. ¿Cuál es la mejor manera de reproducir archivos de video en Delphi?
- 10. ¿Hay una manera simple de reproducir un flujo de video/audio rtp en WPF?
- 11. Reproducción de aplicaciones FLV/HTTP en Android
- 12. Reproducir video en Android desde una secuencia de bytes
- 13. Reproducir video en TextureView
- 14. ¿Hay alguna manera de animar diseños? [Android]?
- 15. cómo reproducir archivos de audio en android
- 16. ¿Hay alguna manera de determinar la cantidad de RAM de video gratuita en Linux?
- 17. ¿Hay alguna forma de actualizar automáticamente la aplicación en Android?
- 18. ¿Hay alguna manera de imprimir en la consola en una aplicación de Android?
- 19. Convierta programáticamente un video a FLV
- 20. ¿Hay alguna manera de deshabilitar la animación de Android ListView?
- 21. ¿Cómo reproducir un archivo de video en Android?
- 22. ¿Hay alguna manera de reiniciar un servicio después de actualizar la aplicación en Android?
- 23. ¿Hay alguna manera de dibujar gráficos y tablas en Android?
- 24. Intentando reproducir múltiples archivos de video simultáneamente en Gstreamer
- 25. Reproducir video cifrado con AVPlayer
- 26. ¿Hay alguna manera de llamar por teléfono a alguien y reproducir un archivo de audio en Android?
- 27. Delphi XE2: ¿Cómo puedo reproducir archivos de video con firemonkey
- 28. Android: no puede reproducir video mp4
- 29. ¿Hay alguna manera de "enredar" dos archivos en Subversion?
- 30. Android: ¿Hay alguna manera de implementar el escáner de código de barras en una aplicación?
Existe una solución alternativa que también le permitirá jugar desde un recurso de recurso local, lea mi respuesta a esta pregunta similar para obtener una solución completa: http://stackoverflow.com/questions/6596243/problem-to-load -flv-video-en-webview/6855609 # 6855609 – Merlin