예제 #1
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            var sfd = new SaveFileDialog();

            sfd.Filter = "MP3 Files (*.mp3)|*.mp3";

            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            if (!SoundFile.Directory.Exists)
            {
                SoundFile.Directory.Create();
            }

            if (!SoundFile.Exists)
            {
                using (var fileStream = SoundFile.Create())
                    CacheContext.ExtractResource(Sound.Resource, fileStream);
            }

            var destSoundFile = new FileInfo(sfd.FileName);

            if (!destSoundFile.Directory.Exists)
            {
                destSoundFile.Directory.Create();
            }

            SoundFile.CopyTo(destSoundFile.FullName);
        }
예제 #2
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            var sfd = new SaveFileDialog();

            sfd.Filter = "MP3 Files (*.mp3)|*.mp3";

            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            if (!SoundFile.Directory.Exists)
            {
                SoundFile.Directory.Create();
            }

            if (!SoundFile.Exists)
            {
                var resourceDefinition = Cache.ResourceCache.GetSoundResourceDefinition(Sound.Resource);
                if (resourceDefinition != null)
                {
                    var    dataReference = resourceDefinition.Data;
                    byte[] soundData     = dataReference.Data;

                    if (Cache is GameCacheGen3)
                    {
                        soundData = ConvertGen3SoundData(Cache, Sound, dataReference.Data);
                    }

                    using (var fileStream = SoundFile.Create())
                        fileStream.Write(soundData, 0, soundData.Length);
                }
            }

            var destSoundFile = new FileInfo(sfd.FileName);

            if (!destSoundFile.Directory.Exists)
            {
                destSoundFile.Directory.Create();
            }

            if (destSoundFile.Exists)
            {
                destSoundFile.Delete();
            }

            if (SoundFile.Exists)
            {
                SoundFile.CopyTo(destSoundFile.FullName);
            }
        }