转自红鱼儿推荐内置android控件的开源项目alcinoe

眼前多少难甘事,自古男儿当自强。这篇文章主要讲述转自红鱼儿推荐内置android控件的开源项目alcinoe相关的知识,希望能为你提供帮助。
开源地址:https://github.com/Zeus64/alcinoe
该控件包,含以下几个控件:
1.基于OpenGL实现的视频播放器 ALVideoPlayer.
ALVideoPlayer将一个视频绘制到一个TEXTURE。可以将视频完全集成到delphi form中,并且可以将任何需要的控件放在顶部,因为它支持Z-ORDER。官方的delphi视频播放器只是form顶部的原生视频播放器窗口,因此不支持Z-ORDER。
在android下作者使用ExoPlayer。ExoPlayer支持诸如动态自适应HTTP流媒体(DASH),HLS,SmoothStreaming和Common Encryption等功能,MediaPlayer不支持这些功能。它的设计很容易定制和扩展。在ios下使用的AVPlayer也支持HLS,比如exoplayer。
2.实现了内置控件TEdit/TMemo,支持ios与android.
这个重要,官方说10.3为android实现内置控件TEdit,现在我们提前有用的了!内置控件有什么好处,当然是效率与无bug.到现在Firemonkey的TEdit/TMemo还有bug.
3.高效的doublebuffered firemonkey控件,实现了原生绘制速度

  • Rectangle
  • Circle
  • Text (Can also draw html text on ios/android/win/macos)
  • Glyph
  • etc.
【转自红鱼儿推荐内置android控件的开源项目alcinoe】我试着运行了作者提供的Demo,真是快的不得了,作者不是吹牛的。是Delphi自带的2陪速度。
4.改进了firemonkey控件
  • ScrollBox
  • TabControl
  • RangeTrackBar
还有其他方面的内容,具体可以去看,上面的内容已经足够吸引我用了!
  在试用过程中,发现在android 4.4.4上出错,在android 7.1.1正常,已经提交了问题,不知作者会不会修改,来支持低版本的android了。
后记:作者很勤奋,今早就给出了修正,解决在android 4.4.4上的问题:
找到fSurfaceTexture.setOnFrameAvailableListener(FOnFrameAvailableListener, fHandler); 改成下面这样:
  try
        fSurfaceTexture.setOnFrameAvailableListener(FOnFrameAvailableListener, fHandler);
  except
        fSurfaceTexture.setOnFrameAvailableListener (FOnFrameAvailableListener); // api android < 21
  end;
同时,作者也说:But by calling without locking the handle there are crashes in the video ...
Any light on it would help a lot.
在android 4.4.4上能运行了,于是做了进一步测试:
转自红鱼儿推荐内置android控件的开源项目alcinoe

文章图片
转自红鱼儿推荐内置android控件的开源项目alcinoe

文章图片

左侧图是使用ALFmxControls的绘图效率,平均近52帧,右侧图为Delphi原生绘制效率,平均11帖,近5陪的差别。
在我的红米1S上能得到这样效率,真不可思异,要知道,作为测试机,这可是近三年多的机器,只能证明作者这个控件实现的太牛了!
估计看到这里,你也想试试,果真有这么神奇吗。相信我,不骗你,一试便知。反正我是准备在项目中启用这个控件了,虽然说尽量不用第三方控件,以减少项目后期的维护量,但对于这个开源控件来说,值得投入。
如果真要试用,还得有思想准备,就是整个开源内容近1G大小,拉回来不容易,我是拉了半天整不回来,还是Q友努力传给我的。如果你也需要,也可以找我,我的QQ:391879。
2018.8.2,作者支持了Delphi 10.2.3 ,并更新了Demo.
 

    推荐阅读