1

伙计们,

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

视频似乎可以正常播放。但是,只要方向改变,视频就会从头开始。这是因为活动被重新创建并且后台线程、提取器和解码器都被再次实例化。

出于我的需要,我无法禁用方向。

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

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

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

预先感谢您的帮助。

问候,
彼得

4

1 回答 1

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(如果您遇到更多问题,请参阅例如这个问题)。

于 2014-05-02T09:28:39.523 回答