……
End Select
strContent= ’把请求体放入SOAP信封
g_arrRendererMessage(0)= ’加上HTTP头
发送HTTP请求
ForintSleepCount = 1 To 50
Sleep 100 ’睡眠
DoEvents '转让控制权,调度其他进程
If 发生连接错误或请求被取消Then Exit Sub
If 返回消息要求MAN头 Then
生成并发送M-POST请求消息
ExitFor
End If
Next
End Sub
2.2.3 PrepareForConnection操作
1)作用
本设计中的MediaServer设备支持多重(虚拟)AVTransport服务接口,可同时支持多台播放设备,并为每台播放设备提供一个与之相对应的InstanceID来进行管理。该操作用来实现这一功能,使控制点为设备在网络之间的连接作好准备,而所得InstanceID将是控制后续数据传输和播放过程的标识符。只有当该操作成功时控制点才能启动后面的数据传输过程。免费论文参考网。免费论文参考网。
2)输入参数:
RemoteProtocolInfo:前面所确定的传输协议
PeerConnectionManage:UDN/Service-Id对
PeerConnectionID:对等连接ID
Diretion:数据传输方向。对于MediaServer是“Output”,而对于MediaRenderer是“Input”。
3)输出参数
g_strConnectionID:供控制点访问MediaServer时使用的标识符
g_strInstanceID:供控制点控制数据传输过程和播放过程的标识符
4)算法描述
Public FunctionPrepareForConnection(deviceType As UPnpDeviceType) As Boolean
指定请求类型
指定提供给MediaRenderer的输入参数
调用RendererControl过程发送请求消息
循环开始
Sleep 100
DoEvents
If 发生连接错误或请求被取消Then Exit Sub
If 收到返回Renderer连接信息 Then
从Renderer获得InstanceID
退出循环
End If
循环结束
End Function
2.2.4 SetAVTransportURI操作
1)作用
控制点调用该操作来指定待传输数据内容的URI,完成从MediaServer到MediaRenderer之间的数据传输。
2)输入参数:
InstanceID:该传输实例的标识符
CurrentURI:当前待传输数据内容的URI,基本格式如下:
[scheme]://[host]:[port]/[path]?[query string]
CurrentURIMetaData:当前待传输数据的元数据类型。传输单个文件时,参数值设为“Metadata”, 传输包含多个文件的播放列表时,设为“DirectChildren”。
3)状态变量及其变化
该操作会引起一些状态变量的值发生变化。
① NumberOfTracks
播放单个文件:NumberOfTracks=1
播放列表,NumberOfTracks=列表中的对象数目
② TransportState
如果MediaRenderer未能成功定位或下载播放内容:变为“STOPPED”
如果当前的传输状态是“PLAYING”,而且在转到新的URI之前有用户明显可见的延时:暂时转为“TRANSITIONING”。
如果当前的传输状态是“NO MEDIA PRESENT”:转为“STOPPED”。
2.2.5 Play操作
控制点对整个播放过程的控制功能均由MediaRenderer的AVTransport服务来提供,其中的Play操作控制MediaRenderer按照前面指定的源内容、速度、位置、播放模式等开始播放,直到全曲播放完成或播放状态被Stop或Pause操作所改变。
1)输入参数:
InstanceID:播放实例标识符
Speed:播放速度,默认为1
2)输出参数:无
当该操作成功时要使控制点的“PLAY”按钮处于不可用的状态,以免造成播放混乱。
3. 结束语
随着数字家庭技术研究的逐渐深入,这一富于生命力的新兴技术正在成为各大厂商争夺的焦点。UPnP因其支持现有协议标准、不需要设备驱动程序、与平台无关等优势而成为数字家庭的主要技术。设备控制技术是整个UPnP的核心,本设计中所实现的UPnP-AV设备控制还可以推广到其他UPnP设备,具有相当的实用价值。
参考文献
[1]汪晓平,钟军.《Visual Basic网络通信协议分析与应用实现》[M].北京:人民邮电出版社,2003.1。
[2]Scott Seely.《SOAP:XML跨平台Web Service开发技术》[M]. 杨涛,杨晓云,王建桥,等.北京:机械工业出版社,2002.4。
[3]James Snell,DougTidwell,Pavel Kulchenko. 《SOAP Web服务开发》[M].胡军.北京:中国电力出版社,2002.9
[4]于辰涛.UPnP协议编程实践[OL].http://www-900.ibm.com/developerWorks/cn/linux/other/UPnP/part1/index.shtml,2004
[5]Web 服务互操作性和 SOAP [OL]. http://www.upschool.com.cn/edu/1317/2005/1223/10du251379_1.shtml,2005.12
[6]UPnP协议[EB],http://www.upnp.org/resources/,2004
2/2 首页 上一页 1 2 |