Sto utilizzando la demo di Android MediaPlayer per i video. Ho video in streaming 640x480. Voglio semplicemente che il video sia il più grande possibile (indipendentemente dall'orientamento del dispositivo) mantenendo le proporzioni. Non riesco a farlo per questo. Si estende semplicemente su tutto lo schermo. My SurfaceView nel layout non mantiene le proporzioni in "fill_parent" o "wrap_content". Quando controllo (e modificare la dimensione di superficie nel codice, sembra ignorare le modifiche E ciò che è strano è che è stato detto in questo codice che la mia dimensione del video è:. 176 x 144.Video streaming Android - Necessario rapporto di aspetto
public void onVideoSizeChanged(MediaPlayer mp, int width, int height)
{
Log.v(TAG, "onVideoSizeChanged called");
Log.v(TAG, "Surface Width: " + width + " Surface Height: " + height);
if (width == 0 || height == 0) {
Log.e(TAG, "invalid video width(" + width + ") or height(" + height + ")");
return;
}
mIsVideoSizeKnown = true;
mVideoWidth = width;
mVideoHeight = height;
mVideoWidth = mp.getVideoWidth();
mVideoHeight = mp.getVideoHeight();
Log.v(TAG, "Surface Width: " + mVideoWidth + " Surface Height: " + mVideoHeight);
if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) {
startVideoPlayback();
}
}
Questo è dove provo e modificare le dimensioni:?
private void startVideoPlayback() {
Log.v(TAG, "startVideoPlayback");
holder.setFixedSize(mVideoWidth, mVideoHeight);
mMediaPlayer.start();
}
Pensieri