Поскольку я хочу иметь возможность передавать MediaPlayer, который воспроизводит видео, я хочу использовать SurfaceView вместо VideoView внутри моего фрагмента, который воспроизводит видео.
Я посмотрел на предыдущий вопрос о том, как прикрепить MediaPlayer к SurfaceView. Ответ на вопрос подсказывает мне создать две функции:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
getWindow().setFormat(PixelFormat.UNKNOWN);
mPreview = (SurfaceView)findViewById(R.id.surfaceView);
holder = mPreview.getHolder();
holder.setFixedSize(800, 480);
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mp = new MediaPlayer();
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
mp.setDisplay(holder);
play();
}
К сожалению, я не могу перезаписать поверхность, созданную с помощью фрагмента, потому что у фрагмента нет метода. Могу ли я присоединить MediaPlayer к SurfaceView во фрагменте?