/// <summary> /// ファイルを開くボタンをクリックした /// </summary> public void OnOpenFileButtonClick() { dialog = new OpenFileDialog(); dialog.Filter = "wav files (*.wav)|*.wav|ogg files (*.ogg)|*.ogg|all files (*.*)|*.*"; dialog.Title = "音声ファイルを選択"; var res = dialog.ShowDialog(); if (res == DialogResult.OK) { filePath = dialog.FileName; StartCoroutine(LoadAudioSource()); FilePathInput.text = filePath; } else { ControllerPanel.ShowStatusText("ファイルオープンをキャンセル"); } }
/// <summary> /// ファイルパスからオーディオクリップをロード /// </summary> /// <returns></returns> private IEnumerator LoadAudioSource() { using (WWW www = new WWW("file://" + filePath)) { while (!www.isDone) { yield return(null); } audioSource.clip = www.GetAudioClip(false, true); if (audioSource.clip.loadState != AudioDataLoadState.Loaded) { ControllerPanel.ShowStatusText("音声ファイルの読み込みに失敗"); yield break; } positionSlider.maxValue = audioSource.clip.length; // スライダーの最大値を指定 ControllerPanel.ShowStatusText($"{filePath.Replace("\n", "")}をオープン"); } }