2011-09-21 25 views
9

Jestem zakłopotany.Odtwarzanie wideo daje czarny ekran, ale z dźwiękiem

Próbuję odtwarzać wideo za pomocą Media Player, ale podczas odtwarzania dźwięku, wszystko, co dostaję, to czarne okno.

Widziałem inne posty dotyczące tego problemu, ale nie znalazłem rozwiązania. Starałem się postępować zgodnie z ich sugestiami.

Odtwarzacz multimediów jest przygotowywany przed odtwarzaniem. Uchwyt powierzchni został utworzony i ustawiony przed wyświetleniem odtwarzacza multimedialnego.

Testowane na Samsung Galaxy Tab Samsung Galaxy i S

mam opracowującym na poziomie API 7.

Samo wideo mogą być odtwarzane w aplikacji wideo urządzenia z sdcard, tak jak powinno być kompatybilny.

Widok powierzchni nie jest tego samego rozmiaru co wideo. To może być problem. Czy muszę coś z tym zrobić, czy rozciąganie jest obsługiwane automatycznie?

Oto co mam w inicjalizacji:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height); 
lp.leftMargin = x; 
lp.topMargin = y; 
mSurfaceView = new SurfaceView(mActivity); 
mSurfaceView.requestFocus(); 
mSurfaceView.setZOrderOnTop(true); 
mSurfaceView.getHolder().addCallback(player); 
mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
mLayout.addView(mSurfaceView, lp); 

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength()); 
mMediaPlayer.setOnErrorListener(player); 
mMediaPlayer.setOnPreparedListener(player); 
mMediaPlayer.prepare();      

i tutaj są moje wywołania zwrotne:

public void onPrepared(MediaPlayer mp) 
{ 
    mMediaPlayer.start(); 
} 


public void surfaceCreated (SurfaceHolder holder) 
{ 
    mMediaPlayer.setDisplay(holder); 
} 

Co frustrujące jest to, że wersja kodu działa prawidłowo jakiś czas temu, ale teraz to nie jest.

+0

Co to jest kodek wideo? – rds

+0

Powodzenia w tym popularnym pytaniu? – Behnam

Odpowiedz

0

Miałem podobny problem i był związany z formatem wideo (kodek MP4, WMV, AVI itp.).

Spróbuj uruchomić wideo na domyślnym odtwarzaczu Android, sprawdź, czy to działa. Jeśli nie działa, może to być problem z kodekiem wideo.

Nie próbuj uruchamiać wideo na odtwarzaczach takich jak VLC lub Player MX, mają wbudowany kodek.

Powiązane problemy