Unity StreamingAssets wav AudioSource.clip 渡し方
VideoPlayerの場合
VideoPlayer videoPlayer;
videoPlayer.url = Application.streamingAssetsPath + "/file.wav";
VideoPlayerはurlから取得できるのでこれでOKです。
AudioSourceの場合
audioSouceはclipだけでurlはないので間にwebrequestを挟みます(実際に呼ぶのはローカルのファイル)。UnityWebRequestの中身が2020と2019で違うようで、動作確認したのでは2019,.4.26f1のみです。
Unity 2019.4
public class AudioInitializer : MonoBehaviour { [SerializeField] private AudioSource audioSource; [SerializeField] private string audioFolderPath; [SerializeField] private string audioFileName; private void OnEnable() { StartCoroutine(GetAudioClip()); } IEnumerator GetAudioClip() { string clipPath = "file://" + Application.streamingAssetsPath + audioFolderPath + audioFileName; using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(clipPath, AudioType.WAV)) { yield return www.SendWebRequest(); if (www.isHttpError || www.isNetworkError) { Debug.Log(www.error); } else { AudioClip loadedClip = DownloadHandlerAudioClip.GetContent(www); audioSource.clip = loadedClip; audioSource.Play(); } } } }
参考
How would I go about using music from StreamingAssets folder (imported by the player) : Unity3D
UnityWebRequestでもローカルファイルの取得ができる - Qiita
2019での書き方
Unity - Scripting API: Networking.UnityWebRequestMultimedia.GetAudioClip
最新版(現在2020.3)での書き方
Unity - Scripting API: Networking.UnityWebRequestMultimedia.GetAudioClip リンクがバージョン指定されてないので今後変わりそう