2013-09-28 96 views
1

民間,MediaCodec - 如何處理屏幕方向?

我創建了一個應用程序來播放使用MediaCodec和MediaExtractor類的視頻。此應用程序基於https://vec.io/posts/android-hardware-decoding-with-mediacodec的樣本。

視頻似乎很好。但是,一旦方向改變,視頻就從頭開始。這是因爲活動被重新創建,後臺線程,提取器和解碼器都被再次實例化。

對於我的需求,我無法禁用方向。

我已經看過其他與MediaCodec相關的消息,但無法找到開發人員如何處理屏幕方向(除了禁用方向,這不是我的選擇)。

我的一個想法是在活動破壞期間堅持提取器的尋找位置。這樣,在活動娛樂中,我可以尋求正確的位置。但是,我找不到任何提取器返回查找位置的方法(雖然有一種方法可以找到位置)。

我想知道如果有人可以啓發我如何在屏幕方向上實現連續視頻播放。

非常感謝您的幫助。

問候,
彼得

回答

0

在情況下,你仍然可以使用的溶液或別人絆倒這個問題:

您可以阻止活動的自動重建與行android:configChanges="orientation|screenSize"擴展您的清單:

<activity 
    android:name="com.example.yourproject.mediacodecactivity" 
    android:configChanges="orientation|screenSize" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

有很多關於這個計算器主題的問題,只是沒有參考MediaCodec(見例如this question,如果你面臨更多的問題)。