如何旋转libstreaming Video Preview?

时间:2014-10-12 20:54:37

标签: android video orientation surfaceview

我是Android开发的菜鸟,我正在尝试实施libstreaming example 3 sample project。一切正常,但我还没有能够将视频预览的方向改为prtrait。无论我改变什么设置,它都会拒绝旋转并保持横向模式。我知道可以实现纵向方向,因为spydroid使用自由选择流和纵向显示任何帮助都非常感谢。

我的相关代码:

    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();

2 个答案:

答案 0 :(得分:4)

在示例3代码中,似乎方向已在清单中修复。只需将其留空(甚至不设置为纵向)

        <activity
        android:windowSoftInputMode="stateHidden"
        android:name="net.majorkernelpanic.example3.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar">

这将允许您的活动改变方向。

要强制定位,请在onCreate末尾添加以下行(selectQuality();行之后)

    mSession.setPreviewOrientation(90);
    mSession.configure();

答案 1 :(得分:2)

探索“libstreaming”库,然后转到:

  1. VideoStream.java class
  2. 查找createCamera()方法,替换“mCamera.setDisplayOrientation(mOrientation);” 使用mCamera.setDisplayOrientation(90);
  3. 查找updateCamera(),替换“mCamera.setDisplayOrientation(mOrientation);” “mCamera.setDisplayOrientation(90);”