public void Initialize(GeoAudioObjectModel geoAudioObjectModel, AudioClip clip) { this.id = geoAudioObjectModel.id; this.clip = clip; this.gpsLocation.lat = geoAudioObjectModel.position.lat; this.gpsLocation.lng = geoAudioObjectModel.position.lng; Debug.Log("initialized " + geoAudioObjectModel.name); this.GetComponent <AudioSource>().clip = clip; }
IEnumerator LoadAudioFromServer(string url, AudioType audioType, GeoAudioObjectModel audioObj) { var request = UnityWebRequestMultimedia.GetAudioClip(url, audioType); // Debug.Log("1!!!"); yield return(request.SendWebRequest()); if (!request.isHttpError && !request.isNetworkError) { ////////////////////// Vector3 objectPlace = GPSEncoder.GPSToUCS(audioObj.position.lat, audioObj.position.lng); // if distance to POI greater then maxDistanceToPOIGeoObject units then normalize to maxDistanceToPOIGeoObject double diffInMBetweenUserAndGpsOfObject = DistanceBetween2GeoobjectsInM(currentLocation.lat, currentLocation.lng, audioObj.position.lat, audioObj.position.lng); GameObject newGameObject = Instantiate(audioPrefabGameObject, objectPlace, Quaternion.identity) as GameObject; newGameObject.transform.SetParent(ToNorth.transform); newGameObject.tag = nameof(GeoAudioObject); // Debug.Log("2!!!"); AudioClip audio = DownloadHandlerAudioClip.GetContent(request); // Debug.Log(newGameObject.GetComponent<GeoAudioObject>() + " "); // init content of geoObject(point of interest) newGameObject.GetComponent <GeoAudioObject>() .Initialize(audioObj, audio); // Debug.Log("3!!!"); Debug.Log($" {DateTime.Now:HH:mm:ss tt} Placed object {audioObj.name} " + $"at location lat: {audioObj.position.lat}, lng: {audioObj.position.lng}. " + $"\n Updated Distance to {diffInMBetweenUserAndGpsOfObject}m"); // add to dict of initedGeoObjects geoObjectsInScene.Add(audioObj.id, newGameObject); newGameObject.GetComponent <AudioSource>().volume = 0; newGameObject.GetComponent <AudioSource>().Play(); /////////////////////// ///audioSource.Play(); } else { Debug.LogErrorFormat("error request [{0}, {1}]", url, request.error); } request.Dispose(); }