Я в тупике. < /p>
Я видел другие посты об этой проблеме, но я не был нахождение решения. Я пытался следовать их предложениям. Держатель поверхности был создан и установлен на дисплей медиаплеера перед воспроизведением. < /p>
Протестировано на вкладке Samsung Galaxy и Samsung Galaxy S. < /p>
Я компилирую против уровня API 7 . < /p>
Само видео можно воспроизвести в видео -приложении устройства из SDCard, поэтому оно должно быть совместимым. < /p>
Вид поверхности это не тот же размер, что и видео. Так что это может быть проблемой. Нужно ли что -то делать с этим или автоматически обрабатывается растяжение? < /p>
Вот что у меня есть при инициализации: < /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>
А вот мои обратные вызовы: < /p>
public void onPrepared(MediaPlayer mp)
{
mMediaPlayer.start();
}
public void surfaceCreated (SurfaceHolder holder)
{
mMediaPlayer.setDisplay(holder);
}
< /code>
Что разочаровывает, так это то, что версия кода работала должным образом некоторое время назад, но теперь это не так. < /p>
Подробнее здесь: https://stackoverflow.com/questions/750 ... with-sound