Страница 1 из 1
Сохранить пропорции видео
Добавлено: 25 июл 2013, 23:35
=bor=
Если задаю у SurfaceView ширину и высоту wrap_content, то пропорции сохраняются, но если дисплей больше размеров видео, то используется часть экрана.
Если задаю ширину и/или высоту match_parent, то изображение искажается.
Как растянуть видео на весь экран, скажем, по ширине, а высоту задать так, чтоб пропорции сохранялись правильными?
Где-то видел код, то ли на Стэке, то ли здесь, но не могу найти...
Re: Сохранить пропорции видео
Добавлено: 26 июл 2013, 12:59
=bor=
Снова забросали вариантами решения.
Прям масонская ложа, тайные знания.
Не парьтесь - решил, и делюсь, наверняка кому-то пригодится:
Код: Выделить всё
@Override
public void surfaceCreated(SurfaceHolder holder) {
//Получаю размеры видео
int videoWidth = mMediaPlayer.getVideoWidth();
int videoHeight = mMediaPlayer.getVideoHeight();
//Получаю ширину экрана
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
//Получаю параметры SurfaceView
android.view.ViewGroup.LayoutParams lp = mPreview.getLayoutParams();
//Устанавливаю ширину SurfaceView равной ширине экрана
lp.width = screenWidth;
//Устанавливаю высоту SurfaceView в соответствующей пропорции к видео
lp.height = (int) (((float)videoHeight / (float)videoWidth) * (float)screenWidth);
//Фиксирую параметры layout
mPreview.setLayoutParams(lp);
mp.start();
Re: Сохранить пропорции видео
Добавлено: 26 июл 2013, 13:52
Mikhail_dev
Молодец. Используй для кода лучше теги [syntax=java]
Re: Сохранить пропорции видео
Добавлено: 26 июл 2013, 14:42
=bor=
no-- писал(а):Молодец. Используй для кода лучше теги [syntax=java]
Не понял про эти теги, поясни, пожалуйста.
Re: Сохранить пропорции видео
Добавлено: 26 июл 2013, 16:35
Mikhail_dev
Я про использование тегов к коду
[syntax=java]
тут код
[/syntax]