Ich bin verblüfft. < /p>
Ich habe andere Beiträge zu diesem Problem gesehen, aber ich war nicht, eine Lösung zu finden. Ich habe versucht, ihren Vorschlägen zu folgen. Der Oberflächenhalter wurde vor der Wiedergabe auf die Anzeige des Media Players eingestellt. < /p>
getestet auf einer Samsung Galaxy -Registerkarte und einem Samsung Galaxy S. . > Die Oberflächenansicht hat nicht die gleiche Größe wie das Video. Das könnte also ein Problem sein. Muss ich etwas dagegen tun oder wird automatisch behandelt? < /p>
Hier ist, was ich in meiner Initialisierung habe: < /p>
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();
< /code>
Und hier sind meine Rückrufe: < /p>
public void onPrepared(MediaPlayer mp)
{
mMediaPlayer.start();
}
public void surfaceCreated (SurfaceHolder holder)
{
mMediaPlayer.setDisplay(holder);
}
< /code>
Was frustrierend ist, ist, dass eine Version des Codes vor einiger Zeit ordnungsgemäß funktioniert hat, aber jetzt ist es nicht. < /p>
Video -Wiedergabe gibt einen schwarzen Bildschirm, aber mit Ton ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post