private IEnumerator GetAudio() { if (!string.IsNullOrEmpty(url)) { using (var request = UnityWebRequest.GetAudioClip(url, audioType)) { var async = request.Send(); var progressMeter = OpenProgressMeter(); progressMeter.Text = "Downloading"; while (!async.isDone) { progressMeter.Value = async.progress; yield return(async.isDone); } if (request.isError) { Debug.Log(this.name + " [Audio Download Error]" + request.error); } else { SetContent(((DownloadHandlerAudioClip)request.downloadHandler).audioClip); UpdateAudioSource(); } progressMeter.Value = 1; progressMeter.Dispose(); } } }
IEnumerator LoadAudio() { var dir = Path.GetDirectoryName(songPath); var musicPath = Path.GetFullPath(Directory.GetFiles(dir, "*.ogg")[0]); musicPath = new System.Uri(musicPath).AbsoluteUri; //TODO f**k the police. may crash. print(musicPath); print("go go power rangers"); using (var www = UnityWebRequest.GetAudioClip(musicPath, AudioType.OGGVORBIS)) { yield return www.Send(); if (www.isError) { Debug.Log(www.error); } else { songClip = DownloadHandlerAudioClip.GetContent(www); DontDestroyOnLoad(gameObject); SceneManager.LoadScene("game"); //AudioSource.PlayClipAtPoint(songClip, Vector3.zero); // raise da roof!!! } } }
/// <summary> /// Setup request. /// </summary> public void Setup() { // Determine which request to use. switch (requestInfo.RequestType) { case Netko.RequestType.Get: UnityRequest = UnityWebRequest.Get(requestInfo.Url.GetUriEscaped()); break; case Netko.RequestType.Post: UnityRequest = UnityWebRequest.Post(requestInfo.Url.GetUriEscaped(), requestInfo.Form); if (requestInfo.UploadHandler != null) { UnityRequest.uploadHandler = requestInfo.UploadHandler; } break; case Netko.RequestType.Delete: UnityRequest = UnityWebRequest.Delete(requestInfo.Url.GetUriEscaped()); break; case Netko.RequestType.Put: UnityRequest = UnityWebRequest.Put(requestInfo.Url.GetUriEscaped(), requestInfo.PutData); break; case Netko.RequestType.Head: UnityRequest = UnityWebRequest.Head(requestInfo.Url.GetUriEscaped()); break; case Netko.RequestType.Audio: UnityRequest = UnityWebRequest.GetAudioClip(requestInfo.Url.GetUriEscaped(), requestInfo.AudioType); break; case Netko.RequestType.AudioStream: AudioRequest = new AudioStreamRequest(requestInfo.Url.GetUriEscaped(true)); break; case Netko.RequestType.Texture: UnityRequest = UnityWebRequest.GetTexture( requestInfo.Url.GetUriEscaped(), requestInfo.TextureNonReadable ); break; case Netko.RequestType.AssetBundle: UnityRequest = UnityWebRequest.GetAssetBundle( requestInfo.Url.GetUriEscaped(), requestInfo.AssetBundleVersion, requestInfo.AssetBundleCRC ); break; } // Initialize variables SetError(null); isProcessing = false; TimeOutTime = requestInfo.TimeOut; }
/// <summary> /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET. /// </summary> /// <param name="url">The URI of the audio clip to download.</param> /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param> /// <returns>An operation that can be used to track the download process.</returns> public static IAsyncOperation <AudioClip> GetAudioClip(string url, AudioType audioType) { #if UNITY_2017_1_OR_NEWER var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType); var result = new Helpers.WebRequestResult <AudioClip>(webRequest); #else var webRequest = UnityWebRequest.GetAudioClip(url, audioType); var result = new Helpers.WebRequestResult <AudioClip>(webRequest); #endif result.Start(); return(result); }
/// <summary> /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET. /// </summary> /// <param name="url">The URI of the audio clip to download.</param> /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param> /// <param name="userState">User-defined data.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="url"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentException">Thrown if <paramref name="url"/> is an empty string.</exception> /// <returns>An operation that can be used to track the download process.</returns> /// <seealso cref="GetAudioClipAsync(string, object)"/> public static IAsyncOperation <AudioClip> GetAudioClipAsync(string url, AudioType audioType, object userState = null) { ThrowIfInvalidUrl(url); #if UNITY_2017_1_OR_NEWER var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType); #else var webRequest = UnityWebRequest.GetAudioClip(url, audioType); #endif var result = new Helpers.WebRequestResult <AudioClip>(webRequest, userState); result.Start(); return(result); }
/// <summary> /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET. /// </summary> /// <param name="url">The URI of the audio clip to download.</param> /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param> /// <returns>An operation that can be used to track the download process.</returns> public static IAsyncOperation <AudioClip> GetAudioClip(string url, AudioType audioType) { #if UNITY_2017 || UNITY_2018 var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType); var result = new WebRequestResult <AudioClip>(webRequest); #elif UNITY_5_4_OR_NEWER var webRequest = UnityWebRequest.GetAudioClip(url, audioType); var result = new WebRequestResult <AudioClip>(webRequest); #else var www = new WWW(url); var result = new WwwResult <AudioClip>(www); #endif result.Start(); return(result); }
private void _BeginDownload() { m_Data = null; var type = cRequest.assetType; var head = cRequest.head; if (CacheManager.Typeof_AudioClip.Equals(type)) { AudioType au = AudioType.MOD; if (cRequest.head is AudioType) { au = (AudioType)cRequest.head; } m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au); } else if (CacheManager.Typeof_Texture2D.Equals(type)) { if (cRequest.head is bool) { m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)cRequest.head); } else { m_webrequest = UnityWebRequest.GetTexture(cRequest.url); } } else if (head is WWWForm) { m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)head); } else if (head is string) { var bytes = LuaHelper.GetBytes(head.ToString()); m_webrequest = UnityWebRequest.Put(cRequest.url, bytes); } else if (head is System.Array) { m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])head); } else { m_webrequest = UnityWebRequest.Get(cRequest.url); } m_asyncOperation = m_webrequest.Send(); }
private IEnumerator LoadAudioURL(string url) { UnityWebRequest www = UnityWebRequest.GetAudioClip(url, AudioType.WAV); yield return(www.Send()); if (www.isError) { Log.Text(label, "Failed to load audio: " + url, www.error, Log.Level.Warning); } else { AudioClip audioClip = ((DownloadHandlerAudioClip)www.downloadHandler).audioClip; audioSource.clip = audioClip; audioSource.Play(); } }
IEnumerator asyncLoadClip1() { string url = globalData.url; int i = getCurrentCardNo(); url = url + globalData.getUnixPath() + "/" + i.ToString() + ".mp3"; url = url + "?p=" + globalData.sessionId; //url = "file://" + Application.persistentDataPath + "/test.wav"; string authorization = authenticate("hadmin", "hindiusa123"); //UnityWebRequest www = UnityWebRequest.GetTexture (url); UnityWebRequest www = UnityWebRequest.GetAudioClip(url, AudioType.MPEG); www.SetRequestHeader("AUTHORIZATION", authorization); yield return(www.Send()); if (www.isError) { Debug.Log("Error accessing the url : " + url + " : " + www.error); } else { AudioSource audio = gameObject.GetComponent <AudioSource> (); ac = DownloadHandlerAudioClip.GetContent(www); audio.PlayOneShot(ac); StartCoroutine(changeBtnColor()); } www.Dispose(); /*WWW www = new WWW (url); * * yield return www; * if (string.IsNullOrEmpty(www.error)) { * AudioSource audio = gameObject.GetComponent<AudioSource>(); * ac = www.GetAudioClip (false,true, AudioType.MPEG); * audio.PlayOneShot (ac); * }*/ }
IEnumerator GetAudioClip() { Debug.Log("clicked"); using (UnityWebRequest www = UnityWebRequest.GetAudioClip("https://vw123.000webhostapp.com/sounds/0954.ogg", AudioType.OGGVORBIS)) { Debug.Log("clicked_inside"); yield return(www.Send()); if (www.isError) { Debug.Log(www.error); } else { Debug.Log("download clip"); AudioClip myClip = DownloadHandlerAudioClip.GetContent(www); } } }
IEnumerator LoadClip(string fileName, Action <AudioClip, string> callBackFunction, string fileType = "wav") { /* old code * WWW www; * www = new WWW (Application.persistentDataPath + fileName + "." + fileType); * yield return www; * AudioClip myClip = www.GetAudioClip (false, false);*/ using (UnityWebRequest www = UnityWebRequest.GetAudioClip("file://" + Application.persistentDataPath + "/" + fileName + "." + fileType, AudioType.WAV)) { yield return(www.Send()); if (www.isError) { Debug.Log(www.error); } else { callBackFunction(DownloadHandlerAudioClip.GetContent(www), fileName); } } }
protected virtual IEnumerator playAudioFile(Model.Wrapper wrapper, string url, string outputFile, AudioType type = AudioType.WAV, bool isNative = false, bool isLocalFile = true, System.Collections.Generic.Dictionary <string, string> headers = null) { //Debug.LogWarning("playAudioFile: " + wrapper); if (wrapper != null && wrapper.Source != null) { if (!isLocalFile || (isLocalFile && new System.IO.FileInfo(outputFile).Length > 1024)) { #if UNITY_2017_1_OR_NEWER using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(url.Trim(), type)) #else using (UnityWebRequest www = UnityWebRequest.GetAudioClip(url.Trim(), type)) #endif { if (headers != null) { foreach (System.Collections.Generic.KeyValuePair <string, string> kvp in headers) { www.SetRequestHeader(kvp.Key, kvp.Value); } } #if UNITY_2017_2_OR_NEWER yield return(www.SendWebRequest()); #else yield return(www.Send()); #endif #if UNITY_2017_1_OR_NEWER if (!www.isHttpError && !www.isNetworkError) #else if (string.IsNullOrEmpty(www.error)) #endif { //just for testing! //string outputFile = Util.Config.AUDIOFILE_PATH + wrapper.Uid + extension; //System.IO.File.WriteAllBytes(outputFile, www.bytes); #if UNITY_WEBGL AudioClip ac = Util.WavMaster.ToAudioClip(www.downloadHandler.data); #else AudioClip ac = DownloadHandlerAudioClip.GetContent(www); do { yield return(ac); } while (ac.loadState == AudioDataLoadState.Loading); #endif //Debug.Log("ac.loadState: " + ac.loadState + " - " + www.downloadedBytes); if (ac.loadState == AudioDataLoadState.Loaded) { wrapper.Source.clip = ac; if (Util.Config.DEBUG) { Debug.Log("Text generated: " + wrapper.Text); } copyAudioFile(wrapper, outputFile, isLocalFile, www.downloadHandler.data); if (!isNative) { onSpeakAudioGenerationComplete(wrapper); } if ((isNative || wrapper.SpeakImmediately) && wrapper.Source != null) { wrapper.Source.Play(); onSpeakStart(wrapper); do { yield return(null); } while (!silence && Util.Helper.hasActiveClip(wrapper.Source)); if (Util.Config.DEBUG) { Debug.Log("Text spoken: " + wrapper.Text); } onSpeakComplete(wrapper); if (ac != null) { AudioClip.Destroy(ac); } } } else { string errorMessage = "Could not load the audio file the speech: " + wrapper; Debug.LogError(errorMessage); onErrorInfo(wrapper, errorMessage); } } else { string errorMessage = "Could not generate the speech: " + wrapper + System.Environment.NewLine + "WWW error: " + www.error; Debug.LogError(errorMessage); onErrorInfo(wrapper, errorMessage); } } } else { string errorMessage = "The generated audio file is invalid: " + wrapper; Debug.LogError(errorMessage); onErrorInfo(wrapper, errorMessage); } } else { string errorMessage = "'Source' is null: " + wrapper; Debug.LogError(errorMessage); onErrorInfo(wrapper, errorMessage); } }
private void _BeginDownload() { m_Data = null; var type = cRequest.assetType; var userData = cRequest.userData; if (LoaderType.Typeof_AudioClip.Equals(type)) { AudioType au = AudioType.MOD; if (userData is AudioType) { au = (AudioType)userData; } #if UNITY_2017 m_webrequest = UnityWebRequestMultimedia.GetAudioClip(cRequest.url, au); #else m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au); #endif } else if (LoaderType.Typeof_AssetBundle.Equals(type)) { m_webrequest = UnityWebRequest.GetAssetBundle(cRequest.url); } else if (LoaderType.Typeof_Texture2D.Equals(type)) { #if UNITY_2017 if (userData is bool) { m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url, (bool)userData); } else { m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url); } #else if (userData is bool) { m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)userData); } else { m_webrequest = UnityWebRequest.GetTexture(cRequest.url); } #endif } else if (userData is WWWForm) { m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)userData); } else if (userData is string) { var bytes = LuaHelper.GetBytes(userData.ToString()); m_webrequest = UnityWebRequest.Put(cRequest.url, bytes); } else if (userData is System.Array) { m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])userData); } else { m_webrequest = UnityWebRequest.Get(cRequest.url); } WebHeaderCollection headers = (WebHeaderCollection)cRequest.head; if (headers != null) { foreach (var k in headers.AllKeys) { m_webrequest.SetRequestHeader(k, headers.Get(k)); } } m_asyncOperation = m_webrequest.Send(); }
/// <summary> /// Initiates the audio object (for implementation). /// </summary> /// <returns>Wait for complete.</returns> /// <param name="path">Source path.</param> /// <param name="ojName">Object's name.</param> /// <param name="type">Audio's type.</param> /// <param name="augmentation">The object you want to add the audio source on.</param> /// <param name="autoPlay">Audio's auto playing setting.</param> /// <param name="loop">Audio's loop setting.</param> /// <param name="volumn">Audio's volumn.</param> private IEnumerator _initiateAudio(string path, string ojName, AudioType type, GameObject augmentation, bool autoPlay, bool loop, float volumn) { augmentation.name = ojName; AudioSource mySource = augmentation.AddComponent <AudioSource>(); mySource.loop = loop; if (volumn > 1 || volumn < 0) { mycallback.onLoadFailed("Volumn out of range"); } else { mySource.volume = volumn; } try { request = UnityWebRequest.GetAudioClip(path, type); } catch (Exception e) { mycallback.onLoadFailed("Initiate Error: " + e); } AsyncOperation ao = request.Send(); while (!ao.isDone) { mycallback.getInitiatePorgress(request.downloadProgress, ojName); yield return(new WaitForEndOfFrame()); } yield return(request.isDone == true); try { AudioClip clip = (request.downloadHandler as DownloadHandlerAudioClip).audioClip; clip.name = ojName; mySource.clip = clip; if (autoPlay) { mySource.Play(); } do { mycallback.getInitiatePorgress(request.downloadProgress, ojName); } while (request.downloadProgress > 0 && request.downloadProgress < 1); mycallback.getInitiatePorgress(1, ojName); mycallback.onLoadFinish("Initiate complete: " + path); } catch (Exception e) { mycallback.onLoadFailed("Initiate Error: " + e); } request = null; }
public AssetLoadOperation(string bundleName, string assetName, System.Type type) { m_AssetBundleName = bundleName; m_AssetName = assetName; m_Type = type; id = GetId(m_AssetBundleName, m_AssetName, m_Type); // ランタイムキャッシュに存在すれば、そのまま利用 if (AssetManager.m_RuntimeCache.TryGetValue(id, out m_Object)) { if (m_Object) { return; } else { AssetManager.m_RuntimeCache.Remove(id); } } AssetManager.AddDepend(m_AssetBundleName, id); #if UNITY_EDITOR // シミュレーションモード中. アセットバンドルはAssetDataBaseを利用してロード. // Simulation mode (only in editor). if (AssetManager.isSimulationMode && !assetName.Contains("://") && type != typeof(AssetBundleManifest)) { // Resources からロードします. if (string.IsNullOrEmpty(bundleName)) { var relativePath = string.Format("resources/{0}.", assetName).ToLower(); m_Object = UnityEditor.AssetDatabase.FindAssets(string.Format("t:{0} {1}", type.Name, Path.GetFileName(assetName))) .Select(guid => UnityEditor.AssetDatabase.GUIDToAssetPath(guid).ToLower()) .Where(x => x.Contains(relativePath)) .Select(x => UnityEditor.AssetDatabase.LoadAssetAtPath(x, type)) .FirstOrDefault(); } // AssetBundle からロードします. else { m_Object = UnityEditor.AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName(bundleName, assetName) .Select(x => UnityEditor.AssetDatabase.LoadAssetAtPath(x, type)) .FirstOrDefault(); } if (!m_Object) { if (string.IsNullOrEmpty(m_AssetBundleName)) { error = string.Format("アセット {1} が見つかりませんでした(シミュレーションモード)", m_AssetBundleName, m_AssetName); } else { error = string.Format("アセットバンドル {0} 内に、アセット {1} が見つかりませんでした(シミュレーションモード)", m_AssetBundleName, m_AssetName); } } progress = 1f; return; } #endif // Asset in Web or StreamingAssets. if (assetName.Contains("://")) { if (m_Type == typeof(Texture2D)) { m_WebRequest = UnityWebRequest.Get(assetName); m_WebRequest.SetCacheable(new CacheableDownloadHandlerTexture(m_WebRequest, new byte[256 * 1024])); //#if UNITY_2017_1_OR_NEWER // m_WebRequest = UnityWebRequestTexture.GetTexture(assetName, true); //#else // m_WebRequest = UnityWebRequest.GetTexture(assetName, true); //#endif } else if (m_Type == typeof(AudioClip)) { #if UNITY_2017_1_OR_NEWER m_WebRequest = UnityWebRequestMultimedia.GetAudioClip(assetName, AudioType.MPEG); #else m_WebRequest = UnityWebRequest.GetAudioClip(assetName, AudioType.MPEG); #endif } else { m_WebRequest = UnityWebRequest.Get(assetName); } m_Request = m_WebRequest.Send(); } // Asset in Resources. else if (string.IsNullOrEmpty(m_AssetBundleName)) { m_Request = Resources.LoadAsync(assetName, type); } }
private void _BeginDownload() { m_Data = null; var type = cRequest.assetType; var head = cRequest.head; if (CacheManager.Typeof_AudioClip.Equals(type)) { AudioType au = AudioType.MOD; if (cRequest.head is AudioType) { au = (AudioType)cRequest.head; } #if UNITY_2017 m_webrequest = UnityWebRequestMultimedia.GetAudioClip(cRequest.url, au); #else m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au); #endif } else if (CacheManager.Typeof_AssetBundle.Equals(type)) { m_webrequest = UnityWebRequest.GetAssetBundle(cRequest.url); } else if (CacheManager.Typeof_Texture2D.Equals(type)) { #if UNITY_2017 if (cRequest.head is bool) { m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url, (bool)cRequest.head); } else { m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url); } #else if (cRequest.head is bool) { m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)cRequest.head); } else { m_webrequest = UnityWebRequest.GetTexture(cRequest.url); } #endif } else if (head is WWWForm) { m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)head); } else if (head is string) { var bytes = LuaHelper.GetBytes(head.ToString()); m_webrequest = UnityWebRequest.Put(cRequest.url, bytes); } else if (head is System.Array) { m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])head); } else { m_webrequest = UnityWebRequest.Get(cRequest.url); } if (cRequest.headers != null) { var headers = cRequest.headers; foreach (var kv in headers) { m_webrequest.SetRequestHeader(kv.Key, kv.Value); } } if (!string.IsNullOrEmpty(cRequest.overrideHost)) { m_webrequest.SetRequestHeader("host", cRequest.overrideHost); } m_asyncOperation = m_webrequest.Send(); }
private IEnumerator RequestCoroutine() { url = ResetCache(url); #if UNITY_5_4_OR_NEWER switch (method) { case UnityWebRequest.kHttpVerbGET: www = UnityWebRequest.Get(url); break; case UnityWebRequest.kHttpVerbPOST: www = UnityWebRequest.Post(url, wwwFrom); break; case kHttpVerbTexture: www = UnityWebRequest.GetTexture(url); break; case kHttpVerbAudioClip: www = UnityWebRequest.GetAudioClip(url, audioType); break; default: www = new UnityWebRequest(url); www.method = method; break; } yield return(www.Send()); #else if (wwwFrom.data.Length > 0) // POST request { foreach (var entry in wwwFrom.headers) { mHeaders [System.Convert.ToString(entry.Key)] = System.Convert.ToString(entry.Value); } www = new WWW(url, wwwFrom.data, mHeaders); } else // GET request { www = new WWW(url, null, mHeaders); } #endif yield return(mono.StartCoroutine(CheckTimeout())); if (mDisposed) { if (mOnDisposed != null) { mOnDisposed(null); } } else if (System.String.IsNullOrEmpty(www.error)) { if (mOnDone != null) { mOnDone(www); } } else { if (mOnFail != null) { mOnFail(www); } } }