47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
|
|
public class LoadFromPrep : MonoBehaviour
|
|
{
|
|
public AudioSource source;
|
|
|
|
void Awake(){
|
|
if(PrepConnector.saveLoadData == null){
|
|
if(PlayerPrefs.HasKey("saveData")){
|
|
PrepConnector.saveLoadData = JsonUtility.FromJson<SaveLoadData>(PlayerPrefs.GetString("saveData"));
|
|
}
|
|
}
|
|
}
|
|
void Start(){
|
|
if(PrepConnector.saveLoadData != null){
|
|
StartCoroutine(LoadAudioCoroutine(PrepConnector.saveLoadData.musicFile));
|
|
PlayerPrefs.SetString("saveData", JsonUtility.ToJson(PrepConnector.saveLoadData));
|
|
PlayerPrefs.Save();
|
|
}
|
|
}
|
|
|
|
private IEnumerator LoadAudioCoroutine(string fileName)
|
|
{
|
|
string filePath = Path.Combine(Application.persistentDataPath, fileName);
|
|
string url = "file://" + filePath;
|
|
|
|
UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(url, AudioType.WAV); // Use AudioType.MPEG for MP3 files
|
|
yield return www.SendWebRequest();
|
|
|
|
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
|
|
{
|
|
Debug.LogError(www.error);
|
|
}
|
|
else
|
|
{
|
|
AudioClip clip = DownloadHandlerAudioClip.GetContent(www);
|
|
source.clip = clip;
|
|
source.Play();
|
|
}
|
|
}
|
|
|
|
}
|