- Home /
Unity Editor & iOS - Download MP4 to Streaming Assets Folder
Im Trying to Correlate a video plugin called S-Plugin into my Virtual Reality App. Basically what S-Plugin does is allows us to load Movie Textures to iOS and Android. It works very well too, as long as it is pre-placed in the streaming assets. I tried to export an asset-bundle for iOS with a movie texture, and it won't work. Duhh iOS and Android are not compatible w/ MovieTextures.
So i Was reading some threads and they suggested importing the video file in directly. So I'm doing that. What I want to do is write the file to streaming assets. I do not think the file is even downloading. Can someone tell me if what I am doing is Correct?
Here is my code, if anyone can help, let me know.
public string URL;
public bool downloaded;
public string videoTexturePath;
private float wwwProgress;
private MovieTexture downloadedMovie;
private string filePath;
private bool transfered;
private SPluginsMovieTexture movieRenderer;
private SPluginV2FUNN movieController;
private SPluginToggleFUNN movieRemote;
void Awake ()
{
movieRenderer = GetComponent <SPluginsMovieTexture>();
movieController = GetComponent <SPluginV2FUNN>();
movieRemote = GetComponent <SPluginToggleFUNN>();
movieRemote.loadFromURL = true;
}
// Use this for initialization
void Start () {
StartCoroutine (Download());
}
// Update is called once per frame
void Update () {
videoTexturePath = movieRenderer.movieFileFullPathRelativeToTheStreamingAssets;
if (downloaded == true)
{
if (transfered = false)
{
transfered = true;
movieRenderer.movieFileFullPathRelativeToTheStreamingAssets = downloadedMovie.name;
movieRemote.loadFromURL = false;
if (movieController.AutoPlay == true)
{
movieController.Play();
}
}
}
}
public IEnumerator Download ()
{
using (WWW www = new WWW(URL)) {
downloaded = false;
print ("Downloading Video Now!");
StartCoroutine (Progress());
while (www.isDone != true)
{
yield return new WaitForSeconds (0.05f);
wwwProgress = www.progress;
}
yield return www;
print ("Downloaded Video !");
downloaded = true;
downloadedMovie = www.movie;
}
}
IEnumerator Progress ()
{
if (downloaded == false)
{
//yield return new WaitForSeconds (0.075f);
yield return new WaitForEndOfFrame();
print ("Progress: " + wwwProgress + "/1");
if (downloaded == false )
{
StartCoroutine (Progress());
}
}
}
}
Your answer
Follow this Question
Related Questions
"3th Party Library for MPEG 4 Video From images" under Unity for mobile 2 Answers
Parsing Error, code in android for a button 2 Answers
Changing view based on device 0 Answers
Jumping while moving problem (CharacterController C#) 0 Answers
Touch Input with Event Trigger. How to handle with it properly. 0 Answers