Mediacontroller no funciona en la pestaña nexus 7
Tengo un código androide para reproducir un video usando videoview y botones de control como pausa, rebobinar y avanzar usando mediacontroller. Funciona en el nexo S, así como muchos teléfonos samsung, pero los botones mediacontroller no parecen trabajar en el nexo 7! Lo necesito para trabajar en todos los dispositivos. ¿Hay algo más que necesito hacer?
MediaController mediacontroller = new MediaController(Activity.this); mediacontroller.setAnchorView(videoview); Uri video = Uri.parse("path/to/video"); videoview.setMediaController(mediacontroller); videoview.setVideoURI(video); videoview.start();
- Android VideoView no se reproduce Orientación de retrato
- Posicionamiento de MediaController
- Tamaño máximo de vídeo se puede agregar en la carpeta sin procesar android compatible?
- Reproducción de vídeo desde el servidor http en android
- Cómo jugar rtsp live stream desde android? (Rtsp: // someserver: port / live / 001204A006F5.stream)
- Android VideoView pantalla completa con controles de barra de navegación superpuestos
- Android Video deja de reproducirse después de varias reproducciones Error 1, 2147483648
- Detectar si un VideoVIew está almacenando en búfer
- Android Reproducir vídeo por intención
- Error al eliminar el fragmento que contiene videoView en 4.0.4
- El teléfono giratorio reinicia el video en android
- Reproducir archivo de vídeo desde el almacenamiento interno android mediante VideoView
- Obtener el camino real para Uri Android
Sólo tropezó con esta respuesta en Unable to pause / forward / backward video usando mediacontroller en android . Algunos dispositivos LG parecen tener este problema también.
Como se mencionó por @Vineela Yarlagadda, es necesario anular los métodos VideoView a continuación
@Override public boolean canSeekForward() { return true; } @Override public boolean canSeekBackward() { return true; } @Override public boolean canPause() { return true; }
Probado y funciona en Nexus 7.
Solución alternativa: Utilice un SurfaceView en lugar de un VideoView como se sugiere en el código de ejemplo de ApiDemos.
setContentView(R.layout.media_player2); mSurface = (SurfaceView) findViewById(R.id.surface); holder = mSurface.getHolder(); holder.addCallback(this); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(stream); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepareAsync(); mController = new MediaController(this); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mController.setMediaPlayer(this); mController.setAnchorView(mSurface);
Abri el bug code.google.com/p/android/issues/detail?id=59776 después de encontrar el mismo problema que @kriswiz cuando utilicé VideoView y Player. El video se reproducirá en un Nexus 7 y en Samsung Nexus ahora.
- TimePickerDialog: Al hacer clic en el botón "Cancelar" se llama al método onTimeSet ()
- ¿Es posible establecer ImageSize con displayImage ()?