2016-03-20 23 views
0

AssetsStreaming Assetsフォルダから.ogv動画ファイルを再生するには、Unity 5 Personal Edition(無料)を使用しています。コードはcoc.ogvはファイル名ですHandheld.PlayFullScreenMovieがAndroidで動作しない

Handheld.PlayFullScreenMovie("coc.ogv", Color.black, FullScreenMovieControlMode.Full, FullScreenMovieScalingMode.AspectFill);

です。関数はOnMouseDown()関数で呼び出されます。しかし、Android搭載端末で試してみると、黒いちらつきがあり、何もしません。エラーや警告はありません。

助けてください。

+0

私は何も起こりませんでした。 – dil33pm

答えて

0

ここに行きます。 PC用にビルドする場合は、MovieTextureと.ogv形式を使用してください。 Androidの場合は、.mp4(h.264は480p以下)に進みます。ファイルjarの中にassetsフォルダを取得するには、Application.StreamingAssetsPathを使用してください。

0

私が見つけた解決策は、ビデオをApplication.streamingAssetsPathフォルダに保存してから、実行時にファイルをApplication.persistentDataPathフォルダにコピーしてそこから読み取ることです。

string arc = "core1280x800.mp4"; 
string defaultFilePath = Path.Combine(Application.streamingAssetsPath, arc); 
string filePath = Path.Combine(Application.persistentDataPath, arc); 
byte[] bytes = null; 

if (!File.Exists(filePath)) 
{ 
    if (Application.platform == RuntimePlatform.Android) 
    { 
     WWW archivo = new WWW(defaultFilePath); 
     while (!archivo.isDone) 
     { } // c'mon, you can do better than this! ¬ ¬ 
     bytes = archivo.bytes; 
     File.WriteAllBytes(filePath, bytes); 
    } 
    else 
    { 
     if (File.Exists(defaultFilePath)) 
     { 
      bytes = File.ReadAllBytes(defaultFilePath); 
      File.Copy(defaultFilePath, filePath); 
     } 
    } 
} 
Handheld.PlayFullScreenMovie(filePath, Color.black, FullScreenMovieControlMode.Hidden); 

ドキュメントは一切その解像度やフォーマットを問題では、私は任意のファイルを再生することは不可能であった日のために、Application.streamingAssetsPathフォルダのビデオファイルを持っているのに十分であると述べてませんが。このコードでは、480pよりも高い解像度のフルスクリーンビデオファイルを再生でき、MP4とMOVファイルのみをテストしましたが、MP4だけが動作します。 MOVは黙って失敗します。

ps。私は知っている、whileループはエレガントではなく、推奨されていませんが、今のところそれは単純であり、動作します。

関連する問題