Мой вопрос - я храню зашифрованный файл клипа в клиенте. Но видео плеер поддерживает только видео формат файла.
Так что я конвертирую байтовый массив в файл mp4. Кто-нибудь может предложить лучшее решение для воспроизведения байтового массива?
Мой текущий метод попытки сделать это:
- Запись байта в файл .mp4
- Загрузите и воспроизведите файл .mp4 с помощью Video Player
- Удалить временный файл после воспроизведения видео
Кажется, работает, но я не уверен, безопасно ли это.
Вот мой код:
void Start()
{
byte[] data = EncryptManager.Instance.DecryptData(encryptedData);
if (data != null){
WriteByteArrayToFile("temp.mp4", data);
videoPlayer.url = "temp.mp4";
videoPlayer.source = VideoSource.Url;
}
StartCoroutine(ChekVideoLoading());
}
IEnumerator ChekVideoLoading()
{
while (!videoPlayer.isPlaying)
{
yield return null;
}
yield return new WaitForSeconds(1f);
File.Delete("temp.mp4");
}
public void WriteByteArrayToFile(string fileName, byte[] data)
{
FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
fileStream.Write(data, 0, data.Length);
}