铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 4215|回复: 4

[其他] 小水壶播放器介绍以及如何加入到游戏中

[复制链接]
发表于 2017-11-30 01:01 | 显示全部楼层 |阅读模式
小水壶播放器是一个视频播放器。
最初脱胎于金庸水浒传的片头动画播放部分,后来发展为独立的功能。并可以用于在sdl2游戏的窗口中播放视频。

2019.2更新

之前编译这个播放器非常复杂,几个库要自己编译出dll,后来改用mingw的库,但是附带的dll比较多。
得益于vcpkg的发展,ffmpeg和字幕处理库可以静态链接,现能够将小水壶的播放库编译为单独dll,可以用于取代cpp版和lua版的播放视频功能。

支持几乎全部主流视频格式,前进后退,外挂字幕,音量调整等。
可以取代之前的多个文件包含avutil-xx.dll, avcodec-xx.dll, avformat-xx.dll, swresample-xx.dll, libass-x.dll, libfribidi-x.dll等。

下载:https://github.com/scarsty/tinypot,其中有动态库版的链接。


如何在游戏里调用:
C的接口:

  1. 创建实例:void* tinypot = PotCreateFromWindow(g_Window);
  2. 播放视频:int r = PotInputVideo(tinypot, filename);
  3. 销毁实例:PotDestory(tinypot)
复制代码

其中g_window是sdl2游戏所使用的窗口SDL_Window。

返回值为0表示是按esc、右键或播放至结尾,可以认为是用户正常操作。如果为1是用户按了退出(关闭窗口)按钮。可以增加一些处理,例如:
  1.     if (r == 1)
  2.     {
  3.         SDL_Event e;
  4.         e.type = SDL_QUIT;
  5.         SDL_PushEvent(&e);
  6.     }
复制代码

lua版已集成进黑山,取代原来的lib.PlayMPEG功能,以下是代码:
  1. //播放mpeg
  2. // esckey 停止播放的按键
  3. int JY_PlayMPEG(char* filename, int esckey)
  4. {
  5. #ifdef WIN32
  6.     if (g_Tinypot == NULL)
  7.     {
  8.         g_Tinypot = PotCreateFromWindow(g_Window);
  9.     }
  10.     StopMIDI();
  11.     int r = PotInputVideo(g_Tinypot, filename);
  12.     if (r == 1)
  13.     {
  14.         SDL_Event e;
  15.         e.type = SDL_QUIT;
  16.         SDL_PushEvent(&e);
  17.     }
  18. #endif
  19.     //g_Tinypot = NULL;
  20.     return 0;
  21. }
复制代码

黑山的玩家可以下载动态库版,更换dll,播放效果会比原先好一些。
用于黑山群侠传中的播放效果(含外挂字幕):






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x

评分

参与人数 1声望 +100 银两 +666 收起 理由
Ice + 100 + 666 很给力!

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-30 14:39 | 显示全部楼层
支持,这是我在MAC上用过的最好用的播放器,没有之一!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2019-2-6 21:44 来自手机 | 显示全部楼层
幕后黑手牛逼
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2019-2-6 21:48 | 显示全部楼层
我机器猫大神无敌!~~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2019-2-6 21:48 | 显示全部楼层
机器猫老师威武
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 08:55

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表