前提・実現したいこと
UnityでApplication.persistentDataPathに置いたMP3ファイルを読み込み、再生したいと思っています。
AssetStoreのプラグインは使わずにAudioClipにMP3ファイルをロード、再生する方法はないのでしょうか?
音声ファイルはMP3のみで対応しなくてはいけません。
ご回答、ご教授お願いいたします。
発生している問題・エラーメッセージ
Streaming of 'mpeg' on this platform is not supported UnityEngine.WWW:GetAudioClip(Boolean, Boolean) <LoadAudioFile>d__25:MoveNext() (at Assets/Scripts/Scene/script:198) UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
該当のソースコード
c#
1 2 3 IEnumerator LoadAudioFile( AudioClip sentenceAudioClip,string path) 4 { 5 if (audioSource == null || string.IsNullOrEmpty(path)) 6 yield break; 7 8 if (!File.Exists(path)) 9 { 10 //ここにファイルが見つからない処理 11 Debug.Log("File not found."); 12 yield break; 13 } 14 15 using (WWW www = new WWW("file://" + path)) //※あくまでローカルファイルとする 16 { 17 while (!www.isDone) 18 yield return null; 19 20 AudioClip audioClip = www.GetAudioClip(false, true); 21 if (audioClip.loadState != AudioDataLoadState.Loaded) 22 { 23 //ここにロード失敗処理 24 Debug.Log("Failed to load AudioClip."); 25 yield break; 26 } 27 28 //ここにロード成功処理 29 sentenceAudioClip = audioClip; 30 Debug.Log("Load success : " + path); 31 } 32 } 33 34
試したこと
https://github.com/r2123b/Load-Mp3-into-Audioclip
これで音声は再生できたのですが、音質が酷くわるくなり使い物になりませんでした
補足情報(FW/ツールのバージョンなど)
Unity Version;2019.1.5f
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。