皆さん、
MediaCodec および MediaExtractor クラスを使用してビデオを再生するアプリケーションを作成しました。このアプリケーションは、 https://vec.io/posts/android-hardware-decoding-with-mediacodecのサンプルに基づいています。
ビデオは問題なく再生されるようです。ただし、向きが変わるとすぐに、ビデオは最初から始まります。これは、アクティビティが再作成され、バックグラウンド スレッド、エクストラクタ、およびデコーダがすべてもう一度インスタンス化されるためです。
私のニーズでは、向きを無効にすることはできません。
MediaCodec に関連する他のメッセージを調べましたが、開発者が画面の向きをどのように扱っているかを見つけることができませんでした (向きを無効にすることは私にとってオプションではありません)。
私が考えていたのは、アクティビティの破棄中にエクストラクタのシーク位置を保持することでした。このようにして、アクティビティのレクリエーションで、正しい位置を探すことができました。ただし、extractor でシーク位置を返すメソッドが見つかりませんでした (場所をシークするメソッドはありますが)。
画面の向きでビデオを連続再生する方法について誰かが教えてくれるかどうか疑問に思っています。
よろしくお願いいたします。
よろしく、
ピーター