2013-08-20 12 views
5

Mam kod androida do odtwarzania wideo za pomocą wideoview i przycisków kontrolnych, takich jak pauza, przewijanie do tyłu i do przodu za pomocą mediacontroller. Działa na Nexusie S jak i wielu samsungach, ale przyciski mediacontroller nie działają na Nexusie 7! Potrzebuję go do pracy na wszystkich urządzeniach. Czy jest coś ekstra, co muszę zrobić?mediacontroller nie działa na karcie nexus 7

MediaController mediacontroller = new MediaController(Activity.this); 
mediacontroller.setAnchorView(videoview); 
Uri video = Uri.parse("path/to/video"); 
videoview.setMediaController(mediacontroller); 
videoview.setVideoURI(video); 
videoview.start(); 
+0

Problem Link do trackera (brak odpowiedzi w tej chwili): https://code.google.com/p/android/issues/detail?id=59776 – Geobits

Odpowiedz

3

Po prostu natknąłem się na tę odpowiedź w Unable to pause/forward/backward video using mediacontroller in android. Niektóre urządzenia LG również wydają się mieć ten problem.

Jak wspomniano przez @Vineela Yarlagadda, trzeba zastąpić metody VideoView poniżej

@Override 
public boolean canSeekForward() { 
    return true; 
} 

@Override 
public boolean canSeekBackward() { 
    return true; 
} 

@Override 
public boolean canPause() { 
    return true; 
} 

Testowany & prac na Nexusa 7.


Alternatywne rozwiązanie: Użyj SurfaceView zamiast VideoView zasugerowany w przykładowym kodzie w 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); 

Otworzyłem code.google.com/p/android/issues/detail?id=59776 błędu po napotkaniu ten sam problem jak @kriswiz gdy użyłem VideoView i Player. Wideo będzie teraz odtwarzane na Nexusie 7 i na Samsung Nexusie.

+0

tak, widziałem ten sam wpis co Ty "Nie można wstrzymać/przesłać dalej/wideo w tył za pomocą mediacontroller w Androidzie ". Próbowałem też Ale nie zadziałało dla mnie. – kriswiz

Powiązane problemy