私が見つけた解決策は、ビデオを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ループはエレガントではなく、推奨されていませんが、今のところそれは単純であり、動作します。
私は何も起こりませんでした。 – dil33pm