Как конвертировать из Varbinary (MAX) в видео или аудио формат в c # WPF - PullRequest
0 голосов
/ 12 апреля 2011

Я использую Visual Studio 2010 и использовал LINq to SQL для загрузки как видео, так и аудио в базу данных в типе данных Varbinary (max).Теперь мне нужно получить эти файлы и отобразить их на экране xaml.Кто-нибудь может помочь?Вот как я извлекаю его из базы данных, и до сих пор я добавил его в массив byte [] .. (при условии, что это то, что вы делаете ??)

var fileValue = из s в context.Stimulis где s.timID == 1 select s.stimFile;

byte [] file = fileValue.Single (). ToArray ();

Я прочитал это с помощью File.WriteAllBytes () или что-то вродеэто, но я не знаю, если это то, что мне нужно сделать.Спасибо Эмма.

1 Ответ

0 голосов
/ 12 апреля 2011

Как правило, не рекомендуется хранить большие изображения или видео в базе данных.Гораздо лучше организовать их в структурированной папке на диске и сохранить в базе данных пути к файлам.

Если вам действительно нужно сохранить их в базе данных, ваш вопрос зависит от формата файлов.и API, которые вы используете.Если вам нужно прочитать их с диска, ваш подход правильный:

File.WriteAllBytes (strng path, byte[] bytes)

, тогда вы можете получить доступ к файлу, чтобы загрузить его с используемыми вами API.

Тем не менее, я рекомендуюхранить большие файлы вне базы данных.

РЕДАКТИРОВАТЬ: Я думаю, что я зашел слишком далеко, сказав, что не рекомендуется хранить их в базе данных :).Но я все еще думаю, что полезно иметь их вне базы данных.

ВТОРОЕ РЕДАКТИРОВАНИЕ: Из вашего комментария о преобразовании любых носителей в один тип файла ... это невозможно.Вы можете конвертировать между различными типами аудио или между различными типами изображений, но не любым типом мультимедиа в один тип файла.Я думал, что ваш вопрос был больше сфокусирован на хранении и извлечении больших двоичных объектов в / из базы данных, поэтому мой ответ.

Изображения можно просматривать в XAML, но аудио и видео - это еще одна вещь ... Я бы начал спосмотрите, как встроить Windows Media Player в ваше приложение: Windows Media Player SDK , чтобы вы могли воспроизводить все, что может воспроизводить WMP:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...