MediaCodec - 如何处理屏幕方向?

时间:2013-09-28 16:43:52

标签: android

民间,

我创建了一个使用MediaCodec和MediaExtractor类播放视频的应用程序。此应用程序基于https://vec.io/posts/android-hardware-decoding-with-mediacodec的示例。

视频似乎播放得很好。但是,只要方向发生变化,视频就会从头开始。这是因为活动被重新创建,后台线程,提取器和解码器都再次被实例化。

根据我的需要,我无法禁用方向。

我查看了与MediaCodec相关的其他消息,但无法找到开发人员如何处理屏幕方向(除了禁用方向,这对我来说不是一个选项)。

我有一个想法是在活动破坏期间坚持提取器的寻找位置。这样,在活动娱乐方面,我可以寻求合适的位置。但是,我在提取器上找不到任何方法来返回搜索位置(尽管有一种寻找位置的方法)。

我想知道是否有人可以告诉我如何在屏幕方向上实现连续视频播放。

提前感谢您的帮助。

的问候,
彼得

1 个答案:

答案 0 :(得分:1)

如果您仍然可以使用解决方案或其他人偶然发现此问题:

您可以通过使用第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>

关于stackoverflow的这个主题有很多问题,只是没有参考MediaCodec(如果你遇到其他问题,请参阅this question。)