¿Existe alguna forma de que la aplicación mantenga la memoria intermedia después de la orientación sin manejar manualmente los cambios de configuración?Asegurarse de que la memoria intermedia de video se conserva después de cambios de orientación sin manejo. Cambios de configuración manualmente
El escenario básicamente:
vídeo búfer hasta el último punto debe ser preservada cuando cambia la orientación.
Necesito volver a cargar un nuevo diseño (porque portait y lanscape tiene un diseño diferente), Por lo tanto, dejar que la aplicación reinicie la actividad para volver a cargar nuevos recursos es lo mejor que pienso.
El componente de video está en un fragmento.
Alternativas que he intentado pero no son aceptables:
La primera solución es guardar la posición del video y después de la vista ha sido creado, utilice seekTo para ir a la última punto. Sin embargo, esto causará que el dispositivo se vuelva a amortiguar nuevamente.
He intentado jugar con el fragmento setRetainInstance (verdadero) y asegurarme de que el reproductor multimedia no se reinicialice después de que cambie la orientación. Después de cada onCreateView, acabo de configurar mediaplayer.setDisplay() en un nuevo titular de superficie. Desafortunadamente, esto hace que el reproductor de medios entre en estado de error, lo que a su vez requiere que el reproductor de medios sea reiniciado.
¿Alguna sugerencia/solución para esto?
Editado: Vi en algún lugar de stackoverflow que puede cambiar el soporte de la superficie del reproductor de medios mientras el reproductor de medios está activo en Android 4.0+. Sin embargo, estoy desarrollando una aplicación para Android 3.x.
ver si mi respuesta [aquí] (http://stackoverflow.com/questions/9987042/videoview-onresume-loses-buffered-portion-of-the-video/10368107#10368107) ayuda. – yorkw
@yorkw pero esto significa piratear el android.jar. ¿Derecha? De cualquier forma que sepa hacerlo por la corriente principal? ¿Y también para asegurarnos de que Play Store lo acepte? – nembleton
Ya sea hackear una copia de VideoView (no el android.jar real) o construir su propio VideoView desde MediaPlayer, el punto clave aquí es evitar adecuadamente la llamada al método que causa el re-buffer o limpiar el buffer durante el cambio de configuración (más valioso, en los métodos de devolución de llamada del ciclo de vida de ambas actividades y los métodos de devolución de llamada de SurfaceHolder). – yorkw