LockDevices方法

总结
锁定现有的直播流。在锁定时,直播流将暂停,直到捕获设备解锁。
语法
c#
VB
c++
公共无效LockDevices ()
公共LockDevices ()
公共无效LockDevices ();
例子
c#
VB
使用Leadtools;使用Leadtools.MediaStreaming;公共Server _server =公共保龄球_result =LiveStreamDevConfig devconfig;公共DesktopWin: System.Windows.Forms.IWin32Window{公共DesktopWin (){}公共IntPtr处理{得到{返回IntPtr.Zero;}}}公共无效CreateOrReplaceLiveStreamExample (){试一试{intStreamIndex = 0;字符串strPath =“生活/ Stream1”//查找直播流的路径//我的系统上的视频设备的名称(LEAD RTSP源)字符串strVideoDevice =“@device:西南:{083863 f1 - 70 - de - 11 - d0 bd40 - 00 - a0c911ce86} \ \ {e2b7de48 - 38 - c5 - 11 - d5 - 91 - f6 - 00104 - bdb8ff9}”//音频设备的名称在我的系统(麦克风(HD Pro Webcam C920))字符串strAudioDevice =“@device:厘米:{33 d9a762 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \ \波:{9 d2fbf73 - d543 - 44 - da - 8846 ae780ee65484}”//创建一个server对象的实例_server =Leadtools.MediaStreaming.Server ();//获取Live Streams的副本LiveStreams Streams = _server.GetLiveStreams();LiveStream流=//搜索具有相同路径的现有流(StreamIndex = 0;StreamIndex < Streams.Count;StreamIndex + +){stream = Streams.GetLiveStream(StreamIndex);如果(流。路径== strPath)打破stream.Dispose ();流=}如果(流= ={//创建一个新的流StreamIndex = -1;stream = Streams.CreateLiveStream();}//设置流路径流。路径= strPath;//设置重新压缩,如果你想使用设备内置的压缩,将此设置为true流。UseDeviceEncoding =//选择视频设备Leadtools.MediaStreaming.Devices videodevices;videodevices = stream.VideoDevices;intIndex = -1;index = videodevices.IndexOf(strVideoDevice);videodevices。选择=索引;//选择音频设备Leadtools.MediaStreaming.Devices audiodevices;audiodevices = stream.AudioDevices;Index = -1;索引= audiodevices.IndexOf(strAudioDevice);audiodevices。选择=索引;/**可选择的选择方法如果(索引>= 0){Leadtools.MediaStreaming.Device装置;audiodevices.[index];设备。选择=真正的}其他的{audiodevices。选择= -1;}* * ///锁定设备以便编辑其属性devconfig = stream.DeviceConfig;devconfig.LockDevices ();DesktopWin win =DesktopWin ();//显示主视频设备属性页,如果有的话如果(devconfig.HasDialog (LiveStreamDlg.VideoDevice)){devconfig.ShowDialog (LiveStreamDlg。VideoDevice,赢得);}//显示主音频设备属性页,如果有的话如果(devconfig.HasDialog (LiveStreamDlg.AudioDevice)){devconfig.ShowDialog (LiveStreamDlg。AudioDevice,赢得);}//设置输出视频如果(devconfig.IsVideoEncoded)//视频已经编码,视频输出设置被忽略{流。UseVideoInputSize =真正的//如果UseVideoInputSize为true,则忽略宽度和高度流。VideoWidth = 320;流。VideoHeight = 240;流。UseVideoInputFrameRate =真正的//如果UseVideoInputFrameRate为true,则忽略帧速率流。VideoFrameRate = 29.97;流。VideoBitRate = 700000;流。QSVAcceleration =真正的流。CUDAAcceleration =真正的}//设置输出音频如果(devconfig.IsAudioEncoded)//音频已经编码,音频输出设置被忽略{intnCount = 0;leadtools . mediastream . audiotypes audiotypes =audiotypes = stream.AudioTypes;nCount = audiotypes.Count;(index = 0;index < nCount;指数+ +){leadtools . mediastream . audiotype audiotype = audiotypes[index];如果(audiotype。频道== 2 && audiotype。BitRate == 192000 && audiotype。SampleRate == 44100){audiotype。选择=真正的//可选择的选择方法/ / audiotypes。选择=索引;打破}}}//设置输出片段大小流。MinimumFragmentDuration = 2.0;//添加或替换流如果(StreamIndex < 0)Streams.AddLiveStream(流);其他的流。SetLiveStream (StreamIndex流);_server.SetLiveStreams(流);如果(devconfig ! =devconfig.UnlockDevices ();_result =真正的}(异常){如果(devconfig ! =devconfig.UnlockDevices ();_result =}}
进口Leadtools进口Leadtools。MediaStreaming公共_server作为服务器=没有什么公共_result作为布尔私人devconfig作为LiveStreamDevConfig公共DesktopWin实现了System.Windows.Forms.IWin32Window公共()结束公共只读的财产处理()作为IntPtr实现了IWin32Window。处理得到返回System.IntPtr.Zero结束得到结束财产结束公共CreateOrReplaceLiveStreamExample ()试一试昏暗的StreamCount作为整数= 0昏暗的StreamIndex作为整数= 0昏暗的strPath作为字符串“生活/ Stream1”直播的路径去找我的系统上的视频设备名称(LEAD RTSP源)昏暗的strVideoDevice作为字符串“@device:西南:{083863 f1 - 70 - de - 11 - d0 bd40 - 00 - a0c911ce86} \ {e2b7de48 - 38 - c5 - 11 - d5 - 91 - f6 - 00104 - bdb8ff9}”系统上的音频设备名称(麦克风(HD Pro Webcam C920))昏暗的strAudioDevice作为字符串“@device:厘米:{33 d9a762 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \波:{9 d2fbf73 - d543 - 44 - da - 8846 ae780ee65484}”'创建一个server对象的实例_server =Leadtools.MediaStreaming.Server ()'获取直播流的副本昏暗的作为LiveStreams = _server.GetLiveStreams()昏暗的作为liverstream =没有什么'搜索具有相同路径的现有流StreamCount =流。StreamIndex = 0StreamIndex < StreamCountstream = Streams.GetLiveStream(StreamIndex)如果流。路径= strPath然后退出结束如果stream.Dispose ()流=没有什么StreamIndex += 1循环如果没有什么然后’创建一个新的流StreamIndex = -1stream = Streams.CreateLiveStream()结束如果设置流路径流。路径= strPath设置为重新压缩,如果你想使用设备内置的压缩,将此更改为true流。UseDeviceEncoding =选择视频设备昏暗的videodevices作为Leadtools.MediaStreaming.Devices视频设备=流。VideoDevices昏暗的指数作为整数= 1index = videodevices.IndexOf(strVideoDevice)videodevices。选择=索引选择音频设备昏暗的audiodevices作为Leadtools.MediaStreaming.DevicesAudiodevices =流。AudioDevices指数= -1索引= audiodevices.IndexOf(strAudioDevice)audiodevices。选择=索引另一种选择方法如果索引>= 0,则将设备设置为Leadtools.MediaStreaming.Device'device = audiodevices(index)的设备。选中= True其他的“audiodevices。选择= -1“如果终结“锁定设备,这样我们就可以编辑它们的属性Devconfig = stream。DeviceConfigdevconfig.LockDevices ()昏暗的赢得作为DesktopWin =DesktopWin ()显示主视频设备属性页(如果可用)如果devconfig.HasDialog (LiveStreamDlg.VideoDevice)然后devconfig.ShowDialog (LiveStreamDlg。VideoDevice赢)结束如果显示主音频设备属性页(如果可用)如果devconfig.HasDialog (LiveStreamDlg.AudioDevice)然后devconfig.ShowDialog (LiveStreamDlg。AudioDevice赢)结束如果设置输出视频如果devconfig。是VideoEncoded然后'视频已经编码,视频输出设置被忽略流。UseVideoInputSize =真正的如果UseVideoInputSize为true,那么宽度和高度将被忽略流。VideoWidth = 320流。VideoHeight = 240流。UseVideoInputFrameRate =真正的如果UseVideoInputFrameRate为true,那么帧速率将被忽略流。VideoFrameRate = 29.97流。VideoBitRate = 700000流。QSVAcceleration =真正的流。CUDAAcceleration =真正的结束如果设置输出音频如果devconfig。是AudioEncoded然后'音频已经编码,音频输出设置被忽略昏暗的nCount作为整数= 0昏暗的audiotypes作为Leadtools.MediaStreaming.AudioTypes =没有什么Audiotypes =流。AudioTypesnCount = audiotypes。指数= 0index < nCount昏暗的audiotype作为leadtools . mediastream . audiotype = audiotypes(索引)如果audiotype。通道= 2需要说明audiotype。BitRate = 192000需要说明audiotype。SampleRate = 44100然后audiotype。选择=真正的选择的替代方法“audiotypes。选择=索引退出结束如果索引+= 1循环结束如果设置输出片段大小流。MinimumFragmentDuration = 2.0添加或替换流如果StreamIndex < 0然后Streams.AddLiveStream(流)其他的流。SetLiveStream (StreamIndex流)结束如果_server.SetLiveStreams(流)如果devconfig没有什么然后devconfig.UnlockDevices ()结束如果_result =真正的e1作为异常如果devconfig没有什么然后devconfig.UnlockDevices ()结束如果_result =结束试一试结束
需求

目标平台

Leadtools。MediaStreaming组装
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领先科技有限公司版权所有。