我是android开发的菜鸟,我正在尝试实现libstreaming example 3 sample project。一切正常,除了我无法将视频预览的方向更改为prtrait。无论我更改什么设置,它都会拒绝旋转并保持横向模式。我知道可以实现纵向方向,因为spydroid使用libstreaming并以纵向方向显示。非常感谢您的帮助。
我的相关代码:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //<--Does Nothing
// Configures the SessionBuilder
mSession = SessionBuilder.getInstance()
.setContext(getApplicationContext())
.setAudioEncoder(SessionBuilder.AUDIO_AAC)
.setAudioQuality(new AudioQuality(8000, 16000))
.setVideoEncoder(SessionBuilder.VIDEO_H264)
.setSurfaceView(mSurfaceView)
.setPreviewOrientation(90) //<--Does Nothing
.setCallback(this)
.build();
最佳答案
在示例3代码中,似乎方向在 list 中是固定的。只需将其留空(甚至不要设置为纵向)
<activity
android:windowSoftInputMode="stateHidden"
android:name="net.majorkernelpanic.example3.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar">
这将使您的 Activity 改变方向。
要强制定位,请在
onCreate
的末尾(在selectQuality();
行之后)添加以下行 mSession.setPreviewOrientation(90);
mSession.configure();