Member 14357788 Ответов: 1

Воспроизведение видеофайла из памяти (воспроизведение файла расшифровки) с помощью C#


Я шифровать видео моя '.МР4 " в " шифрования.МР4' . Теперь я должен расшифровать свой файл и сохранить расшифрованный файл в памяти в начале моего приложения. и воспроизводить их с помощью DirectX в C#.

Как воспроизвести зашифрованный видеофайл с помощью DirectX и memoryStream? Я не хочу сохранять свое видео на жесткий диск (временную папку или другую папку) Я хочу играть прямо по памяти ...

Что я уже пробовал:

этот код шифрует и расшифровывает код :
private void EncryptFile(string inputFile, string outputFile)
   {


       try
       {
           string password = @"myKey123"; // Your Key Here
           UnicodeEncoding UE = new UnicodeEncoding();
           byte[] key = UE.GetBytes(password);


           string cryptFile = outputFile;
           FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);


           RijndaelManaged RMCrypto = new RijndaelManaged();


           CryptoStream cs = new CryptoStream(fsCrypt,
               RMCrypto.CreateEncryptor(key, key),
               CryptoStreamMode.Write);


           FileStream fsIn = new FileStream(inputFile, FileMode.Open);


           int data;
           while ((data = fsIn.ReadByte()) != -1)
               cs.WriteByte((byte)data);




           fsIn.Close();
           cs.Close();
           fsCrypt.Close();
       }
       catch
       {
           MessageBox.Show("Encryption failed!", "Error");
       }
   }


   private void DecryptFile(string inputFile, string outputFile)
   {


       {
           string password = @"myKey123"; // Your Key Here


           UnicodeEncoding UE = new UnicodeEncoding();
           byte[] key = UE.GetBytes(password);


           FileStream fsCrypt = new FileStream(inputFile, FileMode.Open);


           RijndaelManaged RMCrypto = new RijndaelManaged();


           CryptoStream cs = new CryptoStream(fsCrypt,
               RMCrypto.CreateDecryptor(key, key),
               CryptoStreamMode.Read);


           FileStream fsOut = new FileStream(outputFile, FileMode.Create);


           int data;
           while ((data = cs.ReadByte()) != -1)
               fsOut.WriteByte((byte)data);


           fsOut.Close();
           cs.Close();
           fsCrypt.Close();


       }
   }

Richard MacCutchan

Почему вы его шифруете? Просто воспроизведите исходный файл.

1 Ответов

Рейтинг:
2

RickZeeland

Вот несколько советов о том, как это сделать: C# воспроизведение видео из потока памяти с помощью DirectShow (quartz.dll).[^]