2014-10-12 15 views
6

Tôi là một noob để phát triển Android và tôi đang cố gắng triển khai libstreamingexample 3 sample project. Mọi thứ hoạt động tốt ngoại trừ việc tôi không thể thay đổi hướng của phần xem trước video thành prtrait. Không có vấn đề gì cài đặt tôi thay đổi nó từ chối để xoay và ở lại trong chế độ phong cảnh. Tôi biết rằng có thể đạt được định hướng dọc bởi vì spydroid sử dụng libstreaming và hiển thị theo hướng dọc Bất kỳ trợ giúp nào được đánh giá cao.Tôi làm cách nào để xoay xem trước video libstreaming?

mã có liên quan của tôi:

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

Bạn đã cố thay đổi hướng thông qua tệp kê khai chưa? – Abdellah

+0

Có, nhưng điều đó cũng không hoạt động. –

Trả lời

5

Trong đoạn mã ví dụ 3, có vẻ như định hướng được cố định trong manifest..just để nó ra sản phẩm nào (thậm chí không được đặt để chân dung)

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

Điều này sẽ cho phép hoạt động của bạn thay đổi hướng.

Buộc thực hiện định hướng, thêm những dòng dưới đây vào cuối onCreate (sau selectQuality(); dòng)

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

Tôi cũng đang vật lộn với vấn đề này. Thật không may, khi tôi đã thử giải pháp này nó vẫn được hiển thị trong phong cảnh. Đặt hướng là chân dung trong tệp kê khai không hoạt động. – DollaBill

+0

@DollaBill Tôi đã thử ví dụ 3 trên trình giả lập và khi tôi xoay trình giả lập thành dọc, bản xem trước đã thay đổi thành dọc (với các thay đổi ở trên). – ashoke

+0

Khi tôi chạy ví dụ trên thiết bị, nó phản hồi lại các thay đổi về cấu hình/định hướng. Nhưng hiển thị bản xem trước ở chế độ ngang khi thiết bị được giữ chân dung và hiển thị bản xem trước dưới dạng cảnh quan lộn ngược khi thiết bị được giữ ở chế độ ngang. – DollaBill

2

Khám phá "libstreaming" thư viện sau đó đi đến:

  1. VideoStream.java lớp
  2. Tìm phương thức createCamera(), thay thế "mCamera.setDisplayOrientation (mOrientation);" với mCamera.setDisplayOrientation (90);
  3. Tìm updateCamera(), thay thế "mCamera.setDisplayOrientation (mOrientation);" với "mCamera.setDisplayOrientation (90);"
+0

Điều này làm việc nhưng tại sao? – nthapa13

Các vấn đề liên quan