C# で UPnP を使用して SetAVTransportURI を送信する方法
C# による SetAVTransportURI コマンドの送信には、デバイスとの通信用に UPnP コントロールポイントを作成する必要があります。實現には OpenSource.UPnP などのオープンソースライブラリを利用します。次のサンプルコードは SetAVTransportURI コマンドを送信するためのものです。
using OpenSource.UPnP;
using OpenSource.UPnP.AV;
using OpenSource.UPnP.AV.RENDERER.CP;
class Program
{
static void Main(string[] args)
{
UPnPDeviceFinder finder = new UPnPDeviceFinder();
UPnPDevice device = finder.FindByType("MediaRenderer", 1);
if (device != null)
{
AVRendererCP renderer = new AVRendererCP(device);
renderer.OnCreateConnection += new AVRendererCP.AVRendererCreateConnectionHandler(renderer_OnCreateConnection);
renderer.SetAVTransportURI("http://example.com/media.mp3");
}
}
static void renderer_OnCreateConnection(AVConnection sender, AVConnectionCPCollection.AVConnectionCreator creator)
{
// 处理创建连接的回调
}
}
上述コードでは、はじめにUPnPデバイスファインダー(UPnPDeviceFinder)を作成して、メディアレンダラーデバイス(MediaRenderer)を検索します。次に、SetAVTransportURIメソッドを介して、再生するメディアのURIをメディアレンダラーデバイスに渡します。
サンプルコードのrenderer_OnCreateConnectionメソッドで、接続が確立された後に他の操作を実行するために、接続のコールバックを処理します。
上記のサンプルコードはデモ目的のみで使用されることに注意してください。実装の詳細については、機器のUPnP文書や関連開発文書を参照する必要があります。