GVKun编程网logo

video.js 动态加载视屏地址的问题(videojs动态加载视频)

9

对于video.js动态加载视屏地址的问题感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解videojs动态加载视频,并且为您提供关于.NETCORE动态加载DLL的问题、.net–在运行时

对于video.js 动态加载视屏地址的问题感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解videojs动态加载视频,并且为您提供关于.NET CORE 动态加载 DLL 的问题、.net – 在运行时动态加载程序集依赖项的问题、2.Silverlight动态加载外部XML指定地址的WebService-(动态加载外部XML文件中指定的WebService地址)、android viewPager gridView 动态加载的宝贵知识。

本文目录一览:

video.js 动态加载视屏地址的问题(videojs动态加载视频)

video.js 动态加载视屏地址的问题(videojs动态加载视频)

在使用 video.js 插件的时候,出现一个问题,页面引入 video.js 后,再用 js 去改变 source 视频源地址的时候,时而报错

  • The video could not be loaded,either because the server or network failed or because the format is not supported

出错的原因是可能在切换视频地址之后,播放器没有进行初始化。

解决办法是:在更改视频地址后重新加载播放器就 ok.

var myPlayer = videojs ("video"); // 初始化视频

$("#video_src").attr ("src","视屏地址")

myPlayer.src ("视屏地址"); // 重新初始化视频地址

myPlayer.load ("视屏地址"); // 重新加载

.NET CORE 动态加载 DLL 的问题

.NET CORE 动态加载 DLL 的问题

有个系统, 需要适应不同类型的数据库(同时只使用其中一种),如果把数据库操作层提取出来,然后针对不同的数据库使用不同的 DLL, 再根据不同的项目使用不同的库, 在以前的 ASP.NET 中, 直接把相关的 DLL 复制到 BIN 目录就可以了, .NET CORE 把 DLL 复制过去,系统不会自动加载, 系统只会自动加载 xx.deps.json 里面相关的程序集。

 

竟然不能加载 非 xx.deps.json 里定义程的序集, 那么就使用 AssemblyLoadContext 类来加载, 但是 AssemblyLoadContext 类在加载程序集的时候, 也只会加载程序集本身, 程序集所依赖的其他程序集, 也不会自动加载, 我们自己的程序集里肯定是要引用相应的数据库操操作来实现 SQL 功能。

再复杂一点的是, 很多类库,为不同的平台,实现了不同的版本, 如 system.data.odbc 程序集, 我们在引用的时候, 引用的是个编译版本, 编译版本里只有方法名称属性等, 方法里都是抛出异常, 然后还有个运行时, 一般放到 runtimes 目录, 里面有 win, linux, osx, freebsd 这种系统, 正常情况下,.net core 会根据平台运行所有平台自动加载相应的目录里的程序集。

 

AssemblyLoadContext 类根据目前测试的情况来看, 不会自动加载相应的 DLL, 都需要自己判断去哪个目录加载, 可以通过 System.Runtime.InteropServices.RuntimeInformation 的 IsOSPlatform 方法来判断是哪种类型的操作系统。

 

使用 AssemblyLoadContext 类加载程序集后, 返回一个 Assembly 对象, 也只能通过 Assembly 对象来获取相应的类型, 还是不能直接使用 Type.GetType (typeName) 的方式来获取。

.net – 在运行时动态加载程序集依赖项的问题

.net – 在运行时动态加载程序集依赖项的问题

让我试着解释我的问题.我目前正在尝试开发一个用.Net编写的小型“插件框架”(主要用于实验).因此,我们的想法是通过在主应用程序的特定文件夹“插件”中部署dll来创建一个可以添加“插件”的主应用程序.
一切正常,插件正确实例化,但现在我遇到了问题.
我现在部署了一个使用其他第三方插件的插件“X”,所以现在我遇到的问题是在运行时找不到“X”所需的这些额外的第三方插件.因此,我的想法是现在添加一个额外的目录“dependencies”,我还部署了所有需要的插件.

所以我的第一个问题:
如何将程序集加载到应用程序域中(假设我知道它们的路径)s.t.它们可以被我的应用程序使用?

我尝试通过做类似的事情来解决这个问题:

AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);

System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender,ResolveEventArgs args)
{
    //find the path to the assembly and then load and return it by
    //return Assembly.Load("pathToDependencies/FailedAssembly.dll");
}

问题是这个事件处理程序现在被激活,在args变量中有“Presentation.Zune.dll”(我正在使用WPF应用程序).好像那个程序集加载失败但实际问题是另一个dll.

有人可以建议我更好的方法来解决我的问题吗?我希望我能够充分解释我的情况,否则只是要求进一步澄清.

谢谢,
尤里

解决方法

您可以设置运行时的探测路径,以便它可以找到程序集.在应用配置文件中设置 probing元素.

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="plugins;dependencies"/>
    </assemblyBinding>
  </runtime>
</configuration>

2.Silverlight动态加载外部XML指定地址的WebService-(动态加载外部XML文件中指定的WebService地址)

2.Silverlight动态加载外部XML指定地址的WebService-(动态加载外部XML文件中指定的WebService地址)

接上节所讲的,Silverlight可以加载外部的XML文件里面的内容,那么我们可不可以在外部XML里面配置一个WebService地址,并且以 此加载这个地址来动态加载WebService呢?这样子就可以避免当WebService地址改变的时候,还要打开XAP包来重新修改 WebService配置的地址了。

    答案当然是可以的。在这里,我制作了一个实例。

    在前面一节里面,我们讲到了使用WebClient来下载Silverlight程序外部的XML文件内容。在本节中,我们重点需要讲解一下如何使用反射来动态生成WebService代理类。关键代码如下:

 

 
 
  1. public void InitializeServices(string serviceAddress) 
  2.       { 
  3.           BasicHttpBinding basicBinding = new BasicHttpBinding();//创建BasicHttpBinding绑定类 
  4.           basicBinding.MaxBufferSize = 2147483647;//设置最大缓存字节 
  5.           basicBinding.MaxReceivedMessageSize = 2147483647;//设置最大的接受消息缓存字节 
  6.           CustomBinding binding = new CustomBinding(basicBinding); 
  7.   
  8.           BindingElement binaryElement = new BinaryMessageEncodingBindingElement(); 
  9.   
  10.           EndpointAddress endPoint = new EndpointAddress(serviceAddress);//根据读取的外部XML指定的Webservice地址来实例化终结点地址。 
  11.   
  12.           WebServiceSoapClient _LBControl = new WebServiceSoapClient();//实例化WebService代理类 
  13.           _LBControl = (WebServiceSoapClient)Activator.CreateInstance(typeof(WebServiceSoapClient), binding, endPoint);//使用反射来实例化我们需要指定的webService地址 

      当然以上只是关键性代码,我们在实践中还需要自己写一个WebService做测试,在本实例源代码程序中,我们在SLreadxml.Web项目中新建了一个WebService.asmx页面,此页面写了一个简单的WebService方法:

    
    
  1. [WebMethod] 
  2.        public string HelloWorld() 
  3.        { 
  4.            return "Hello World For TestData"
  5.        } 

然后我们右键点击SLreadxml项目名然后选择“添加服务引用”,在弹出的窗口中,我填入SLreadxml.Web中 WebService.asmx页面的http地址。(注意这里的Http以你自己的WebService地址为准,你可以重新架设一个网站目录或者IP 上。)http://localhost:1239/webService.asmx,然后点击“前进”,在这里创建好这个服务引用的代理类。并且命名此命名空间名为LBControl,然后我们需要在App.xaml.cs文件中引入以下命名空间:

    
    
  1. using System.IO; 
  2. using System.Xml; 
  3. using System.Windows.browser; 
  4. using System.ServiceModel; 
  5. using System.ServiceModel.Channels; 
  6. using SLreadxml.LBControl; 

当然System.ServiceModel域名空间还需要单独引用其DLL文件。在SLreadxml右键--“添加引用”。

另外想要WebService能够被访问到,还需要添加clientaccesspolicy.xml文件,此文件叙述了你可以安全的引用某一个网 站下的WebService.类似于安全许可吧。值得注意的是这个文件必须放在你的网站的根目录下面,那么你的这个WebService文件才能够被访问 到。不是虚拟目录的根目录,而是你网站的根目录。切记。

clientaccesspolicy.xml源代码:

    
    
  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <access-policy> 
  3.   <cross-domain-access> 
  4.     <policy> 
  5.       <allow-from http-request-headers="*"> 
  6.         <domain uri="*"/> 
  7.       </allow-from> 
  8.       <grant-to> 
  9.         <resource path="/" include-subpaths="true"/> 
  10.       </grant-to> 
  11.     </policy> 
  12.   </cross-domain-access> 
  13. </access-policy> 

     好了。现在基本上已经可以实现动态的访问XML来动态的读取WebService地址。而不用每次都要去XAP包里面修改WebService地址了。那样太麻烦了。

最后给出Config.xml的源代码:

    
    
  1. <configuration> 
  2.     <TestData>http://localhost:1239/webService.asmx</TestData> 
  3.     <SecData>Secend Test Data</SecData> 
  4. </configuration> 

      本实例的源代码如下,点击请下载:SLReadXMLForWebService.rar 。

android viewPager gridView 动态加载

android viewPager gridView 动态加载

github 下载地址

https://github.com/Andylove1314/demo

今天关于video.js 动态加载视屏地址的问题videojs动态加载视频的介绍到此结束,谢谢您的阅读,有关.NET CORE 动态加载 DLL 的问题、.net – 在运行时动态加载程序集依赖项的问题、2.Silverlight动态加载外部XML指定地址的WebService-(动态加载外部XML文件中指定的WebService地址)、android viewPager gridView 动态加载等更多相关知识的信息可以在本站进行查询。

本文标签:

上一篇centos 下使用 vscode 调试 egg.js 注意事项(egret vscode)

下一篇canvas 里设置 width 和 css 里设置 width 和 js 里设置 width 的区别(js设置canvas宽高)