示例#1
0
 public static void ConvertSoundFile(Stream stream, Stream outputStream)
 {
     try {
         using (Sound.WwiseRIFFVorbis vorbis =
                    new Sound.WwiseRIFFVorbis(stream,
                                              Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Third Party",
                                                                            "packed_codebooks_aoTuV_603.bin")))) {
             Stream vorbisStream = new MemoryStream();
             vorbis.ConvertToOgg(vorbisStream);
             vorbisStream.Position = 0;
             using (Stream revorbStream = RevorbStd.Revorb.Jiggle(vorbisStream)) {
                 revorbStream.Position = 0;
                 revorbStream.CopyTo(outputStream);
             }
         }
     } catch (Exception e) {
         Logger.Error("Combo", $"Error converting sound: {e}");
     }
 }
示例#2
0
文件: Combo.cs 项目: Toocanzs/OWLib
        private static void ConvertSoundFile(Stream stream, FindLogic.Combo.SoundFileInfo soundFileInfo, string directory)
        {
            string outputFile    = Path.Combine(directory, $"{soundFileInfo.GetName()}.wem");
            string outputFileOgg = Path.ChangeExtension(outputFile, "ogg");

            CreateDirectoryFromFile(outputFile);

            using (Sound.WwiseRIFFVorbis vorbis =
                       new Sound.WwiseRIFFVorbis(stream, Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Third Party", "packed_codebooks_aoTuV_603.bin")))) {
                Stream vorbisStream = new MemoryStream();
                vorbis.ConvertToOgg(vorbisStream);
                vorbisStream.Position = 0;
                using (Stream revorbStream = RevorbStd.Revorb.Jiggle(vorbisStream)) {
                    using (Stream outputStream = File.OpenWrite(outputFileOgg)) {
                        outputStream.SetLength(0);
                        revorbStream.Position = 0;
                        revorbStream.CopyTo(outputStream);
                    }
                }
            }
        }