H.264再生について(Android)

サポート対象のAndroid OS

H.264再生を行うにはAndroid OS 4.1(APIレベル16)以上を搭載した端末が必要になります。
(H.264再生を行わない場合はAndroid OS 2.3以降が必要になります)

制限事項について

AndroidのH.264再生には以下の機能制限があります。

  • 連結再生
  • シーク再生
    • 現状、正常にシーク再生を行うことはできません。対応可能か調査中です。

非サポート端末への対応について

Android OSのバージョンやUnityでのグラフィクスAPI指定の組み合わせによっては、一部の端末で正常に描画されない問題が発生する場合があります。
端末がH.264ムービの描画に対応しているか否かは、下記のサポート判定関数で取得可能です。

#if !UNITY_EDITOR && UNITY_ANDROID
bool isSupported = CriMana.Detail.RendererResourceAndroidH264Rgb.IsSupported();
#endif

上記関数がfalseを返す場合、該当端末ではH.264ムービの描画が行えません。
「アプリケーション初回起動時に判定し、Sofdec.Primeムービデータをダウンロードする」「ユーザに非サポート端末である旨を通知する」「ムービ再生をスキップする」などの対応をご検討ください。

上記関数がtrueを返すにも関わらず描画が行えない場合は、最新SDKを入手の上、プラグインをインポートして問題が解消しないかお試しください。
問題が解消しない場合、またはプラグインのバージョン更新が困難な場合は、弊社 usr_teqsupport までご連絡ください。
以下はCRIで現在までに確認している非対応端末の一覧です。 | 端末(モデル番号) | OS | 備考 | |-—|-—| | Zenfone2(ASUS_Z00AD) | 5.0 | グラフィクスAPIがOpenGLES3の場合のみ非対応。 | | Galaxy A8(SCV32) | 5.1.1 | グラフィクスAPIがOpenGLES3の場合のみ非対応。OSアップデートにより解消。 | | Galaxy S6 edge (SCV31) | 5.0.2 | グラフィクスAPIがOpenGLES3の場合のみ非対応。OSアップデートにより解消。 |

既知の問題

Unity Ver.5.6 未満の環境で起きる問題
Unity Ver.5.6 未満の環境において、本SDKに含まれるプラグインを用いてH.264ムービ再生を行うと、 ピンク色に表示されてしまう問題を確認しています。
これはシェーダのコンパイルに関する問題で、次のH.264再生用シェーダファイルを書き換える必要があります。
  • Assets/Plugins/CriWare/CriMana/Resources/CriMana/AndroidH264Rgb/AndroidH264Rgb.shader


本SDKパッケージ内に、既に書き換え済みのシェーダファイルが存在します。
SDKインストールディレクトリ内の次の場所をご確認の上、デフォルトのシェーダファイルをこれらに差し替えてください。
Unity のバージョンによってシェーダファイルが異なりますので注意してください。

Unity Ver.5.0系から5.2系
  • /cri/unity/extra/android/CriManaAndroidH264Shader_for_Unity5_2_3/AndroidH264Rgb.shader
Unity Ver.5.3系から5.5系
  • /cri/unity/extra/android/CriManaAndroidH264Shader_for_Unity5_5_5/AndroidH264Rgb.shader