2013-09-28 82 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,如果你面临更多的问题)。