当前位置: 首页 > news >正文

测试C#调用Aplayer播放视频(1:加载Aplayer控件)

  微信公众号“Dotnet跨平台”的文章《开源精品,使用 C# 开发的 KTV 点歌项目》中使用了迅雷开源APlayer播放引擎。最近在学习有哪些能拿来播放视频的组件或控件,于是准备试试,根据文章中的介绍,在迅雷APlayer播放引擎网站中下载了APlayerSDK和解码库,解压APlayerSDK,并将解码库中内容放置在APlayerSDK\bin\codecs文件夹内,然后以管理员身份运行APlayerSDK目录下的install.bat以注册com组件。
在这里插入图片描述
  APlayer播放引擎是一个ActiveX控件,可以被本地其他外部程序嵌入调用,也可以直接被网页嵌入。首先是在VS2022中创建Winform项目,并在解决方案资源管理器中添加引用,如下图所示,可以看到APlayer相关的类型库,但是添加了COM引用后,并未在工具箱中增加APlayer控件。
在这里插入图片描述
  在工具箱空白处点右键,选择“选择项…”菜单,在弹出的选择工具箱项窗口的COM组件页签中找了又找,始终看不到Aplayer相关的组件。
在这里插入图片描述
  百度了不少文章,同时期间把APlayerSDK反反复复下载、注册了很多遍,始终不知道怎么回事,最后在迅雷APlayer播放引擎网站自带的论坛中找到一篇文章(参考文献),其中提到“2022只支持64位的dll,aplyer是32位的,得用VS2019才行”。
  基于上述提示,在网上下载并安装了VS2010,然后在其中新建Winform项目,在工具箱的添加项的COM组件中果然看到了APlayer3Control,选择该组件后,在工具箱中也出现了Aplayer3 Control控件。

在这里插入图片描述在这里插入图片描述
  编写了简单的测试界面,如下图所示,选择视频按钮,并调用APlayer控件的Open和Play函数打开并播放选中视频。但是并没有任何反应,声音也没有。
在这里插入图片描述

  目前进展到此,在网上找到参考文献10,准备学习其中提供的示例代码,然后接着完善测试功能。

参考文献:
[1]https://it.sohu.com/a/732144583_121124365
[2]https://blog.csdn.net/hanlinhe111/article/details/130718698
[3]https://www.cnblogs.com/jianzhan/p/NETAPlayer.html
[4]https://www.xin3721.com/ArticlecSharp/net17201.html
[5]https://github.com/E9C50/KTV/tree/master/MyKTVClient
[6]https://github.com/tonight-love/VideoPlayer
[7]http://aplayer.open.xunlei.com/bbs/read.php?tid=469163
[8]https://blog.csdn.net/boliang319/article/details/129743259
[9]https://blog.csdn.net/huabiaochen/article/details/80883724
[10]https://blog.csdn.net/qq_45533937/article/details/115800927

相关文章:

测试C#调用Aplayer播放视频(1:加载Aplayer控件)

微信公众号“Dotnet跨平台”的文章《开源精品,使用 C# 开发的 KTV 点歌项目》中使用了迅雷开源APlayer播放引擎。最近在学习有哪些能拿来播放视频的组件或控件,于是准备试试,根据文章中的介绍,在迅雷APlayer播放引擎网站中下载了A…...

二叉树的遍历+二叉树的基本操作

文章目录 二叉树的操作一、 二叉树的存储1.二叉树的存储结构 二、 二叉树的基本操作1.前置创建一棵二叉树:1. 定义结点 2.简单的创建二叉树 2.二叉数的遍历1.前序遍历2.中序遍历3.后序遍历4.层序遍历 3.二叉树的操作1.获取树中节点的个数2.获取叶子节点的个数3.获取…...

Go 语言gin框架的web

节省时间与精力,更高效地打造稳定可靠的Web项目:基于Go语言和Gin框架的完善Web项目骨架。无需从零开始,直接利用这个骨架,快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势,轻松处理高并发、大…...

Docker底层原理:Cgroup V2的使用

文章目录 检查 cgroup2 文件系统是否已加载检查系统是否已挂载 cgroup2 文件系统创建 cgroup2 层次结构查看 cgroup2 开启的资源控制类型启用 cgroup2 资源控制设置 cgroup2 资源限制加入进程到 cgroup2 检查 cgroup2 文件系统是否已加载 cat /proc/filesystems | grep cgroup…...

历年上午真题笔记(2014年)

解析:A 网络设计的三层模型 : 接入层:Layer 2 Switching,最终用户被许可接入网络的点,用户通过接入层可以访问网络设备。 汇聚层:Layer2/3 Switching,访问层设备的汇聚点,负责汇接配线单元,利用二、三层技术实现工作组分段及网络故障的隔离,以免对核心层网络设备造…...

数据库软考知识

分布式数据库透明性 封锁 加上共享锁之后只能加共享锁,加上排他锁之后,啥锁都不能加。 分布式数据库特性 伪传递定理 SQL函数定义,有点冷 来了奥,更冷 存储过程 很重要,下午第二大题也是数据库...

学习笔记|配对样本均数T检验|SPSS常用的快捷键|规范表达|《小白爱上SPSS》课程:SPSS第六讲 | 配对样本均数T检验

目录 学习目的软件版本原始文档配对样本均数T检验一、实战案例二、案例解析三、统计策略四、SPSS操作1、正态性检验2、配对样本T检验 五、结果解读六、规范报告1、规范表格2、规范文字 划重点Tips:SPSS常用的快捷键 学习目的 SPSS第六讲 | 配对样本均数T检验 软件版本 IBM S…...

python内置模块smtplib、email 发送电子邮件

一、简介 smtplib 是 Python 的标准库之一,用于发送电子邮件。它提供了一个简单的接口来连接到 SMTP(Simple Mail Transfer Protocol)服务器,并通过该服务器发送电子邮件。 email 是 Python 的标准库之一,用于处理电子…...

Qt使用QWebEngineView一些记录

1.关闭软件警告: Release of profile requested but WebEnginePage still not deleted. Expect troubles! 原因,系统退出关闭view,没有释放page。 解决办法:手动释放page 顺便把view也释放了。 Widget::~Widget() {updateIni…...

【2023.10.30练习】C语言-判断等式成立

计算机能力挑战初赛2020.20题 题目描述&#xff1a; 输入正整数A、B、C(0<A,B,C<10000),若用、-、*、/、%之一组成等式(即ABC&#xff0c;是上述运算符之一&#xff0c;)&#xff0c;则输出“YES”&#xff0c;否则输出“NO”&#xff1b; 输入&#xff1a; 第一行输入…...

Wpf 使用 Prism 实战开发Day03

一.实现左侧菜单绑定 效果图: 1.首先需要在项目中创建 mvvm 的架构模式 创建 Models &#xff0c;放置实体类。 实体类需要继承自Prism 框架的 BindableBase&#xff0c;目的是让实体类支持数据的动态变更! 例如: 系统导航菜单实体类 / <summary>/// 系统导航菜单实体类…...

JavaEE-cookie和session

本部分内容包括 cookie基本概念&#xff0c;sendcookies和getcookies代码&#xff1b; session基本概念&#xff0c;session实现登陆界面&#xff1b; 上述过程中涉及的代码如下&#xff1a; 1 import javax.servlet.ServletException; import javax.servlet.annotation.WebSe…...

Java设计模式之命令模式

目录 定义 结构 案例 优点 缺点 使用场景 JDK源码解析 Thread中start与run方法的区别 定义 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行存储、传递、调用、增…...

记录一段帮朋友写的代码,使用牛顿-拉夫逊方法解方程

要求 已知公式&#xff1a; t G A B F r B r 2 2 F A 2 B G A F ln ⁡ ( r − A ) C o n s t t\frac{GAB}{F}r\frac{Br^2}{2F}\frac{A^2BGA}{F}\ln (r-A)Const tFGAB​r2FBr2​FA2BGA​ln(r−A)Const 其中 t 的值为0-1000&#xff0c;每间隔25取一次值A2.12941E-10B0.…...

滑动窗口限流算法实现一

固定算法 原理&#xff1a;固定算法是将时间线分隔成固定大小的时间窗口&#xff0c;每个窗口都会有个计数器&#xff0c;用来记录窗口时间范围内的请求总数&#xff0c;如果窗口的请求总数达到最大限定值&#xff0c;会认定流量超限。比如将窗口大小设为1分钟&#xff0c;每分…...

简单明了!网关Gateway路由配置filters实现路径重写及对应正则表达式的解析

问题背景&#xff1a; 前端需要发送一个这样的请求&#xff0c;但出现404 首先解析请求的变化&#xff1a; http://www.51xuecheng.cn/api/checkcode/pic 1.请求先打在nginx&#xff0c;www.51xuecheng.cn/api/checkcode/pic部分匹配到了之后会转发给网关进行处理变成localho…...

EMQX内置Web管理控制台-Dashboard

一、Dashboard概述 EMQX Dashboard官网文档&#xff1a;https://docs.emqx.com/zh/enterprise/v5.1/dashboard/introduction.html 1、简介 EMQX 为用户提供了一个功能强大的内置管理控制台&#xff0c;即 EMQX Dashboard。通过这个控制台的 Web 界面&#xff0c;用户可以轻松监…...

计算机网络重点概念整理-第四章 网络层【期末复习|考研复习】

计算机网络复习系列文章传送门&#xff1a; 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 前言四、网络层4.1 网络层功能4.1.1 电路交换、报文交换与分组交换4.1…...

数组转树形数据

const nodes [{ id: 3, name: 节点C, pid: 1 },{ id: 6, name: 节点F, pid: 3 },{ id: 0, name: root, pid: null },{ id: 1, name: 节点A, pid: 0 },{ id: 8, name: 节点H, pid: 4 },{ id: 4, name: 节点D, pid: 1 },{ id: 2, name: 节点B, pid: 0 },{ id: 5, name: 节点E, p…...

react动态插入样式

在开发组件过程中&#xff0c;偶尔需要动态的插入css&#xff0c;比如在在iframe中渲染组件后&#xff0c;iframe中是没有样式的&#xff0c;所以需要手动插入样式。 插入样式 通常是在useLayoutEffect中动态创建style标签 useLayoutEffect(() > {if (!ref.current) {cons…...

用Image-to-Video为你的图片注入灵魂:动态效果生成全攻略

用Image-to-Video为你的图片注入灵魂&#xff1a;动态效果生成全攻略 1. 引言&#xff1a;让静态图片动起来 想象一下&#xff0c;你拍了一张完美的风景照&#xff0c;但总觉得少了点什么——如果云能飘动、树叶能摇曳、水面能泛起波纹&#xff0c;那该多好&#xff1f;这就是…...

Pixel Dream Workshop 算法原理浅析:从扩散模型到创意生成

Pixel Dream Workshop 算法原理浅析&#xff1a;从扩散模型到创意生成 1. 引言&#xff1a;理解扩散模型的价值 最近两年&#xff0c;扩散模型在图像生成领域掀起了一场革命。从最初的DALLE到Stable Diffusion&#xff0c;再到各种创意生成工具&#xff0c;这项技术正在改变我…...

mrm-can-bus:轻量级嵌入式CAN设备服务协议库

1. 项目概述mrm-can-bus是一个面向嵌入式设备控制场景的轻量级 CAN 总线通信库&#xff0c;定位为“CAN Bus connectivity and local functions exposed via CAN Bus, common part”——即提供标准化的 CAN 连接能力&#xff0c;并将本地设备功能&#xff08;如 GPIO 控制、ADC…...

提升效率:用快马一键生成网络应用用户认证api模块

最近在开发一个网络应用时&#xff0c;遇到了用户认证模块的重复开发问题。每次新建项目都要从头写注册登录逻辑&#xff0c;不仅耗时还容易出错。后来发现了InsCode(快马)平台的智能生成功能&#xff0c;帮我快速解决了这个问题。 用户认证模块的核心需求 网络应用中&#xff…...

深入解析Cache工作原理与多核一致性机制

深入理解Cache工作原理与技术实现1. 计算机体系中的Cache基础1.1 Cache存在的必要性现代计算机系统中&#xff0c;处理器性能与存储器访问性能之间存在显著差距。从历史发展数据来看&#xff0c;CPU计算性能每18个月翻一番&#xff08;遵循摩尔定律&#xff09;&#xff0c;而D…...

医疗陪护管理系统:信息化管理在医院的应用

博主介绍&#xff1a; 所有项目都配有从入门到精通的安装教程&#xff0c;可二开&#xff0c;提供核心代码讲解&#xff0c;项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频&#xff1b; 项目的界面和功能都可以定制&#xff0c;包安装运行&#xf…...

保研党必看:用本科论文逆袭IEEE二区期刊的5个关键操作(含时间管理秘籍)

保研党必看&#xff1a;用本科论文逆袭IEEE二区期刊的5个关键操作&#xff08;含时间管理秘籍&#xff09; 在保研竞争日益激烈的当下&#xff0c;一篇高质量的学术论文往往能成为决定成败的关键。对于大多数本科生来说&#xff0c;科研经历有限、资源匮乏是普遍面临的困境。但…...

GaussDB JDBC SSL加密全攻略:从零配置到生产环境最佳实践

GaussDB JDBC SSL加密全攻略&#xff1a;从零配置到生产环境最佳实践 在数据驱动的时代&#xff0c;数据库连接的安全性已成为企业级应用不可忽视的生命线。作为华为云推出的分布式关系型数据库&#xff0c;GaussDB在金融、政务等对安全性要求极高的场景中广泛应用。而JDBC作为…...

嵌入式哈希表实现:无malloc线性探测Hash Map

1. 项目概述 hashmap.c 是一个面向嵌入式系统深度优化的纯 C 语言哈希映射&#xff08;Hash Map&#xff09;实现&#xff0c;不依赖标准库&#xff08;如 stdlib.h 、 string.h &#xff09;&#xff0c;完全可移植于裸机环境、RTOS&#xff08;FreeRTOS、Zephyr、RT-Thr…...

基于Python的律师事务所案件管理系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在开发一套基于Python的律师事务所案件管理系统&#xff0c;以满足现代法律事务处理的高效性和智能化需求。具体研究目的如下&#xff1a; 首先&#xf…...