0
我想讓用戶使用文件瀏覽器導入歌曲從統一存儲添加。目前我正試圖在菜單中播放歌曲,只是爲了看看我是否正確加載了歌曲,但看起來我無法超越這個階段。 WWW功能對我來說沒有任何意義,我將需要有人很簡單地解釋它。在我看來,這應該打開文件瀏覽器,然後用戶選擇該文件,然後將選定的文件加載到音頻剪輯中。那麼調試播放按鈕應播放該音頻剪輯,但是通過暫停遊戲,我可以看到文件瀏覽器找到了該文件並且具有正確的字符串,但音頻從未正確分配給剪輯。我正在使用.wav和.ogg文件,所以格式沒有問題。Unity C#在運行時添加歌曲然後播放該歌曲
public FileBrowser fb = new FileBrowser();
public bool toggleBrowser = true;
public string userAudio;
public AudioSource aSource;
public AudioListener aListener;
public AudioClip aClip;
void Start()
{
if (aSource == null)
{
aSource = gameObject.AddComponent<AudioSource>();
aListener = gameObject.AddComponent<AudioListener>();
}
}
void OnGUI()
{
// File browser, cancel returns to menu and select chooses music file to load
if (fb.draw())
{
if (fb.outputFile == null)
{
Application.LoadLevel("_WaveRider_Menu");
}
else
{
Debug.Log("Ouput File = \"" + fb.outputFile.ToString() + "\"");
// Taking the selected file and assigning it a string
userAudio = fb.outputFile.ToString();
}
}
}
public void playTrack()
{
//assigns the clip to the audio source and plays it
aSource.clip = aClip;
aSource.Play();
}
IEnumerator LoadFilePC(string filePath)
{
filePath = userAudio;
print("loading " + filePath);
//Loading the string file from the File browser
WWW www = new WWW("file:///" + filePath);
//create audio clip from the www
aClip = www.GetAudioClip(false);
while (!aClip.isReadyToPlay)
{
yield return www;
}
}
}
非常感謝!發現。我需要的是協程開始。 – Kimmy 2015-04-02 09:53:11