C# DLNA/UPNP Media Playback

Я пытаюсь транслировать определенные медиа на устройства, совместимые с dlna/upnp. Я уже узнал, как отправлять команды на устройства с помощью C#(например, воспроизведение, пауза, остановка и т. Д.).

Итак, я могу воспроизводить мультимедиа на устройстве. Тем не менее, мне неясно, как я могу сообщить устройству, какой носитель воспроизводить. Есть ли определенная команда для этого?

Я видел команду "SetAVTransportURI", но это требует URI, я просто хочу воспроизвести видеофайл из общего каталога в моей сети. Как мне сообщить устройству, какой носитель воспроизводить?

2 ответа

Решение

Согласно спецификации UPnP MediaRenderer (общедоступно, посмотрите на http://www.upnp.org/), сервис AVTransport должен принимать схему URI file: только для внутреннего протокола, который в значительной степени не указан и зависит от устройства (как написано в спецификации). Другими словами, вам разрешено SetAVTransportURI с file: только для таких вещей, как "1-я дорожка на CD" или "Tuner Station X". Если вы хотите удаленное соединение, вы должны использовать протокол http-get, то есть схему URI http:, Настройка простого веб-сервера, который будет публиковать ваш общий каталог, должна помочь.

Для этой изолированной части UPnP (то есть для установки единого, уже известного URI мультимедиа, отсутствия просмотра и метаданных, таких как имя видео и т. Д.) Вам не требуется, чтобы ваш сервер знал какие-либо специальные службы DLNA/UPnP. Как только вы захотите получить лучший пользовательский опыт, ищите полноценный UPnP MediaServer. Некоторые написаны на C# тоже.

Проверьте запись в википедии для схемы URI в Windows.
Предоставляет ли ваша общая сетевая директория услуги DLNA/UPNP? Изменить: В случае отсутствия службы UPNP, вы можете посмотреть на этот вопрос относительно функциональности сервера UPNP.

Другие вопросы по тегам