|
5精币
请问,迅雷播放引擎的SDK帮助文档里面没有看到调用接口,别人的易语言模块怎么知道这个DLL里面的接口和参数的。
APlayer_OpenA 这个命令名在SDK中并没有找到。
SDK关于 Open的说明
Open 方法用来打开需要播放的媒体文件, 要播放一个媒体文件, 首先就需要打开它。
语法:
HRESULT Open(BSTR strUrl)
参数:
strUrl
[输入参数] 一个表征媒体文件的 Unicode 字符串,可以代表是本地或局域网或网络文件、DVD光碟、USB摄像头、屏幕或另一窗口截图,例如:
1、普通视频:
C:\test.rmvb
\\192.168.8.188\share\test.rmvb
http://218.221.12.181/test.rmvb
https://218.221.12.181/test.mp4
ftp://218.221.12.181/test.flv
rtmp://218.221.12.181/test.flv
rtsp://218.221.12.181/test.sdp
2、分段拼接视频:
APlayer 支持无缝播放分段视频地址组成的 m3u8 地址,例如:
http://218.221.12.181/test.m3u8?some_param=value
这 m3u8 中的分段视频地址可以是标准的 ts, 也可以是非标准的 flv、mp4,只要这些分段编码格式一致即可。
调用者还可以把一些分段视频自行组织成一个本地 m3u8 文件给 APlayer 去无缝拼接播放,m3u8 的内容格式如下:
#EXTM3U
#EXTINF:20,
http://218.221.12.181/1.flv
#EXTINF:20,
http://218.221.12.181/2.flv
#EXTINF:20,
http://218.221.12.181/3.flv
#EXT-X-ENDLIST
上述 m3u8 中 #EXTINF:20 中的 20 代表下面的视频 http://218.221.12.181/1.flv 是 20 秒时长;
APlayer 也支持不设置时长,即无 "#EXTINF:??" 这些行,这时 APlayer 会获取第一个分段地址的
时长乘以分段地址的个数来估算总时长,用以支持拖动播放进度,不过没设置时长那么准确。
3、DVD 光盘:
APlayer 播放 DVD 光碟的方法是打开光盘目录下的 VIDEO_TS.INFO 文件
G:\VIDEO_TS\VIDEO_TS.INFO
打开成功 APlayer 即进入 DVD 播放模式,可以设置标题、章节之类的属性,详见 APlayer 设置中 DVD 相关说明。
4、压缩包视频:
APlayer 支持播放 ZIP 格式压缩包中的文件,例如:
H:\1.zip?/abc/test.mp3
其中 "?" 前的部分是zip文件的路径, "?" 后面的部分是压缩文件在 zip 包中的相对路径。
5、USB摄像头画面:
APlayer 支持播放 USB 摄像头画面,此时 URL 格式为 camera://0,后面的 0 代表第一个摄像头,
如果需要播放第二个摄像头,那格式为 camera://1,以此类推。
6、播放动态截图:
APlayer 支持播放屏幕或者录制另一个窗口的动态截图,录制时附带录制电脑声音;
播放屏幕格式为:screen://0,left,top,right,bottom
播放窗口格式为:screen://窗口句柄十进制串,left,top,right,bottom
其中 left,top,right,bottom 为截图区域,单位为像素,
比如 screen://0,100,100,500,300,代表播放屏幕的左上角(100,100)-(500,300)区域的动态截图,
left,top,right,bottom 这些参数也可以不填,相当于截取整个屏幕或者窗口的区域。
返回值:
返回一个 HRESULT, 可能包含但不限于以下值:
S_OK 调用成功
E_INVALIDARG 无效参数
E_FAIL 未知错误
备注:
APlayer 目前网络播放只支持直连服务器 (P2S) 的 HTTP/FTP/RTMP/MMS/RTSP 等,
如果要利用 APlayer 支持播放 P2P 方式,或者BT/电驴/磁力链等更多的协yi的播放,需要利用一个中间层来实现下载功能,
下载后的数据通过一个本地 HTTP 流媒体服务(一般是 http://127.0.0.1/xxxxxx 形式) 向 APlayer 提供来进行播放。
Open 函数是一个异步方法, 调用后立即返回, 调用者想要知道 APlayer 是否真正成功地打开了媒体文件,
需要等后续的事件回调,如果打开成功,调用者会收到 OnOpenSucceeded 事件,如果打开失败,APlayer 的播放状态会变成 PS_READY 状态。
我想弄清楚别人是怎么知道有 APlayer_OpenA 这个命令名的,谢谢!
|
最佳答案
查看完整内容
APlayerCaller.dll 是别人封装好的dll
补充内容 (2018-1-14 15:42):
APlayerCaller.dll 来自 http://aplayer.open.xunlei.com/bbs/read.php?tid=22190
|