Повернуть SurfaceView камеры ooVoo
Я загадаю свой вопрос, но не могу найти что-то, что поможет мне решить мою проблему. Извините, если этот вопрос дубликат.
В моем приложении я использую SDK ooVoo, который использует свой собственный VideoRenderer.
Моя проблема в том, что предварительный просмотр камеры не в правильной ориентации. Я заставил свою деятельность иметь ориентацию Пейзаж (потому что мое приложение предназначено для воспроизведения только на очках).
На данный момент SurfaceView моего предварительного просмотра камеры имеет смещение в 90 градусов. Поэтому я попытался позвонить setRotation(-90)
Метод SurfaceView, но он переводит предварительный просмотр.
Я также пытался установить Pivot в onStart
чтобы быть уверенным, что я мог бы использовать getX()
из SurfaceView.
Вот предварительный просмотр активности с вызовом setRotation(-10)
(так как setRotation(-90)
дай мне черный квадрат): ScreenShot
Вы знаете, что я делаю не так?
PS: вот код
public class ConferenceActivity extends Activity
{
private static final String LOGTAG = "ConferenceActivity";
SurfaceView myCameraView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.w(LOGTAG, "onCreate");
setContentView(R.layout.activity_conference);
myCameraView = (SurfaceView)findViewById(R.id.myVideoSurface);
myCameraView.setRotation(-10);
}
...
}
[РЕДАКТИРОВАТЬ]
Как упомянул разработчик команды ooVoo, я изменил SurfaceView с помощью GLSurfaceView.
Но у меня все еще есть та же проблема смещения угла обзора на 90 градусов.
1 ответ
Я успешно выполняю вращение, редактируя макет моего представления.
Я создаю RelativeLayout, который содержит объект или список объектов, которые я хотел повернуть.
Затем я поворачиваю RelativeLayout на 90 градусов.
Наконец, я установил макет, чтобы он отображался в портретном режиме, а не в альбомном.
На самом деле я повернул все объекты, кроме SurfaceView.
Это не лучший способ сделать это, но это работает.