2014-10-12 10 views
6

Ich bin ein Noob zu Android-Entwicklung und ich versuche, die libstreamingexample 3 sample project zu implementieren. Alles funktioniert gut, außer dass ich die Ausrichtung der Videovorschau nicht auf prtrait ändern konnte. Egal, welche Einstellungen ich ändere, es lässt sich nicht drehen und bleibt im Querformat. Ich weiß, dass es möglich ist, Hochformat zu erreichen, weil spydroid Libstreaming verwendet und im Hochformat anzeigt. Jede Hilfe wird sehr geschätzt.Wie drehe ich Libstreaming Video Preview?

Mein entsprechender Code:

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

Haben Sie versucht, die Ausrichtung über das Manifest zu ändern? – Abdellah

+0

Ja, ich habe, aber das funktioniert auch nicht. –

Antwort

5

Im Beispiel 3-Code, so scheint es, die Orientierung fixiert ist in der manifest..just es leer auslassen (tun, um Portrait nicht einmal eingestellt)

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

Dadurch kann Ihre Aktivität die Ausrichtung ändern.

die Orientierung zu erzwingen, fügen Sie die folgenden Zeilen am Ende der onCreate (nach selectQuality(); Linie)

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

Ich habe auch mit diesem Problem gekämpft. Leider, als ich diese Lösung ausprobierte, wurde sie immer noch im Querformat angezeigt. Das Festlegen der Ausrichtung als Porträt im Manifest funktionierte ebenfalls nicht. – DollaBill

+0

@DollaBill Ich habe das Beispiel 3 auf Emulator versucht, und wenn ich den Emulator in Hochformat drehte, änderte die Vorschau in Hochformat (mit den obigen Änderungen). – ashoke

+0

Wenn ich Beispiel auf einem Gerät starte, reagiert es auf Konfigurations-/Orientierungsänderungen. Zeigt die Vorschau jedoch als Querformat an, wenn das Gerät im Hochformat gehalten wird, und zeigt die Vorschau als umgedrehte Querformat an, wenn das Gerät im Querformat gehalten wird. – DollaBill

2

Explore "libstreaming" Bibliothek dann gehen Sie zu:

  1. VideoStream.java Klasse
  2. Suche createCamera() -Methode, ersetzen "mCamera.setDisplayOrientation (mOrientation);" mit mCamera.setDisplayOrientation (90);
  3. Suchen updateCamera(), ersetzen "mCamera.setDisplayOrientation (mOrientation);" mit "mCamera.setDisplayOrientation (90);"
+0

Das funktioniert aber warum? – nthapa13