private void SaveAndAffiliateAudioFile()
    {
        // First, delete the old clip.
        dm.DeleteTermAudio0(currTerm);

        AudioClip clip = clipPlayer.GetClip();

        clip = AudioEditor.GetTrailingSilenceTrimmed(clip);
        Guid newGuid = Guid.NewGuid();

        // Assign it to the Term!
        currTerm.audio0Guid = newGuid.ToString();
        dm.SaveStudySetLibrary();

        // Save audio file.
        string filePath = SaveKeys.TermAudioClip0(currTerm.audio0Guid);

        SavWav.Save(filePath, clip);
        //EncodeMP3.ConvertAndWrite(clip, filePath, 128);
        Debug.Log("SAVED audio. Length: " + clip.length);

        // Set this as the current clip!
        UpdateVisualsForClip(clip);
        GameManagers.Instance.EventManager.OnAnySetContentsChanged();
    }
Beispiel #2
0
        private void ShowAudio()
        {
            if (_AudioEditor == null)
            {
                _AudioEditor = new AudioEditor();
            }

            MyObj.Children.Clear();
            MyObj.Children.Add(_AudioEditor);

            MyUri.Editor = _AudioEditor;
        }
Beispiel #3
0
        public AudioComponent(GUIController guiController, AGSEditor agsEditor)
            : base(guiController, agsEditor, "AGSAudioClips")
        {
            _fileTypeMappings.Add(".mp3", AudioClipFileType.MP3);
            _fileTypeMappings.Add(".ogg", AudioClipFileType.OGG);
            _fileTypeMappings.Add(".voc", AudioClipFileType.VOC);
            _fileTypeMappings.Add(".wav", AudioClipFileType.WAV);
            _fileTypeMappings.Add(".mid", AudioClipFileType.MIDI);
            _fileTypeMappings.Add(".mod", AudioClipFileType.MOD);
            _fileTypeMappings.Add(".xm", AudioClipFileType.MOD);
            _fileTypeMappings.Add(".s3m", AudioClipFileType.MOD);
            _fileTypeMappings.Add(".it", AudioClipFileType.MOD);

            _iconMappings.Add(AudioClipFileType.MP3, "AGSAudioClipIconMp3");
            _iconMappings.Add(AudioClipFileType.OGG, "AGSAudioClipIconOgg");
            _iconMappings.Add(AudioClipFileType.VOC, "AGSAudioClipIconVoc");
            _iconMappings.Add(AudioClipFileType.WAV, "AGSAudioClipIconWav");
            _iconMappings.Add(AudioClipFileType.MIDI, "AGSAudioClipIconMidi");
            _iconMappings.Add(AudioClipFileType.MOD, "AGSAudioClipIconMod");

            _agsEditor.GetSourceControlFileList += new GetSourceControlFileListHandler(_agsEditor_GetSourceControlFileList);
            _agsEditor.PreCompileGame           += new AGSEditor.PreCompileGameHandler(_agsEditor_PreCompileGame);

            _editor   = new AudioEditor();
            _document = new ContentDocument(_editor, "Audio", this);
            _guiController.RegisterIcon("AGSAudioClipsIcon", Resources.ResourceManager.GetIcon("audio.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconMidi", Resources.ResourceManager.GetIcon("audio-midi.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconMod", Resources.ResourceManager.GetIcon("audio-mod.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconMp3", Resources.ResourceManager.GetIcon("audio-mp3.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconOgg", Resources.ResourceManager.GetIcon("audio-ogg.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconWav", Resources.ResourceManager.GetIcon("audio-wav.ico"));
            _guiController.RegisterIcon("AGSAudioClipIconVoc", Resources.ResourceManager.GetIcon("audio-voc.ico"));
            _guiController.RegisterIcon("AGSAudioSpeechIcon", Resources.ResourceManager.GetIcon("audio_speech.ico"));
            _guiController.RegisterIcon(AUDIO_CLIP_TYPE_ICON, Resources.ResourceManager.GetIcon("tree_audio_generic.ico"));
            _guiController.ProjectTree.AddTreeRoot(this, TOP_LEVEL_COMMAND_ID, "Audio", "AGSAudioClipsIcon");
            _guiController.ProjectTree.OnAfterLabelEdit += new ProjectTree.AfterLabelEditHandler(ProjectTree_OnAfterLabelEdit);
            RePopulateTreeView();
        }
Beispiel #4
0
    public static void CreateWindow()
    {
        AudioEditor window = GetWindow <AudioEditor>("音效管理");

        window.Show();
    }
Beispiel #5
0
 private void RecreateDocument()
 {
     _editor   = new AudioEditor();
     _document = new ContentDocument(_editor, "Audio", this, AUDIO_CLIP_TYPE_ICON);
 }
Beispiel #6
0
    IEnumerator LoadAudioClipCoroutine(string fullPath, bool doPlayImmediately)
    {
        fullPath = "file:///" + fullPath; // HACK for Mac? We can't find the audio file without this prefix, but *only* for loading, not saving.
        using (var uwr = UnityWebRequestMultimedia.GetAudioClip(fullPath, AudioType.WAV)) {
            ((DownloadHandlerAudioClip)uwr.downloadHandler).streamAudio = true;

            audioSource.clip = null; // default this to null, in case we fail.

            yield return(uwr.SendWebRequest());

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                AppDebugLog.LogError(uwr.error);
                yield break;
            }

            DownloadHandlerAudioClip dlHandler = (DownloadHandlerAudioClip)uwr.downloadHandler;
            yield return(dlHandler);

            if (dlHandler.isDone)
            {
                audioSource.clip = dlHandler.audioClip;

                if (audioSource.clip != null)
                {
                    WWW download = new WWW(fullPath); // HACKED, using WWW! I think DownloadHandlerAudioClip doesn't support getting the file samples. Not sure tho.
                    yield return(download);

                    bool      threeD = false;
                    bool      stream = false;
                    AudioClip clip   = download.GetAudioClip(threeD, stream, AudioType.WAV);
                    //float[] samples = new float[clip.samples * clip.channels];
                    //clip.GetData(samples, 0);
                    //for (int s = 0; s < 100; s++) Debug.Log(samples[s]);


                    //AudioClip clip = DownloadHandlerAudioClip.GetContent(uwr);
                    if (SettingsManager.Instance.DoTrimAudioClips)
                    {
                        clip = AudioEditor.GetQuietTrimmed(clip);
                    }
                    if (SettingsManager.Instance.DoNormalizeAudioClips)
                    {
                        clip = AudioEditor.GetNormalized(clip);
                    }
                    audioSource.clip = clip;
                    GameManagers.Instance.EventManager.OnClipLoadSuccess(clip);
                    if (doPlayImmediately)
                    {
                        Play();
                    }
                }
                else
                {
                    GameManagers.Instance.EventManager.OnClipLoadFail();
                    Debug.Log("Couldn't load a valid AudioClip.");
                }
            }
            else
            {
                Debug.Log("The download process is not completely finished.");
            }
        }
    }
Beispiel #7
0
 static void ImportAudio()
 {
     Debug.Log("import audio...");
     //PanelEditor.CreatePanelsFromPSD();
     AudioEditor.AddAudio();
 }