2016-03-20 42 views
0

Assets altındaki Streaming Assets klasöründen bir .ogv film dosyasını oynatmak için Unity 5 Personal Edition (Ücretsiz) kullanıyorum. Kod coc.ogv dosya adı olanHandheld.PlayFullScreenMovie Android içinde çalışmıyor

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

olduğunu. İşlev OnMouseDown() işlevinde çağrılmaktadır. Ama bir Android cihazında denediğimde, sadece siyah bir titreme veriyor ve başka hiçbir şey yapmıyor. Hata veya uyarı yoktur.

Lütfen

Lütfen yardım edin.

+0

Yaptım, hiçbir şey olmadı. – dil33pm

cevap

0

Buradan başlıyoruz. PC için oluşturuyorsanız, MovieTexture ve .ogv biçimine gidin. Android için ise, .mp4'e (480.2'den küçük veya eşit olarak h.264) gidin. jar dosyasının içinde assets klasörünü almak için Application.StreamingAssetsPath kullanın.

0

Bulduğum çözüm, videoyu Application.streamingAssetsPath klasöründe saklamak ve daha sonra çalışma zamanında dosyayı Application.persistentDataPath klasörüne kopyalamak ve daha sonra okumaktır. Bana herhangi bir dosya olursa olsun, onun çözünürlüğü ne de formatını oynatmak için

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); 

belgeler sadece Application.streamingAssetsPath klasörde video dosyası için yeterli olduğunu belirtse

, günlerce o imkansızdı. Bu kod ile 480p'den daha yüksek çözünürlükte video dosyalarını oynatabildim ve sadece MP4 ve MOV dosyalarını test ettim, ancak sadece MP4 çalışır; MOV sessizce başarısız olur.

ps. Biliyorum, süre döngü zarif ve tavsiye edilmez, ama şimdilik basit ve çalışır.

İlgili konular