基本介绍

如果用户对视频播放中的某一帧画面特别感兴趣,可以使用截图功能将这一帧视频保存起来。另外有一种场景想知道是否有声音,或者想感知声音的大小震动频率等,可以通过显示一个声音的波形来形象的表示。如下图所示:

那么播放器提供了类似的方法可以让用户有办法去实现音频波形这个功能。那么这种通常在音乐播放器中比较常见,或者在直播场景中来标识对方讲话是否有声音等,有一定的应用场景。

视频截图

实现接口

iOS接口如下:

/*** 功能:截取当前正在播放图像**/
-(UIImage*) snapshot;

Android接口如下:

public Bitmap snapShot();

需要注意

视频内容截取

需要知道的是视频截图截取的是视频的真实内容,而不是渲染窗口大小的图像。比如播放的是1920x1080的图像,窗口渲染大小是800*600,那么截取出来的图像是原始的1080p的图像,而不是窗口渲染大小的图像。这样截取出来的内容不会有失真的情况。

保持镜像和旋转

如果此时用户设置了镜像或者旋转模式,那么截取出来的视频内容也是有旋转和镜像的图像。SDK内部已经对这种情况进行了处理。

音频波形

实现接口

用户要实现音柱功能,播放器SDK必须要将实时的播放音频数据回调出来,具体见一下方法:
iOS接口:通过一个block回调出PCM音频数据

/*** 功能:* 参数:block:音频数据回调**/
-(void) getAudioData:(void (^)(NSData *data))block;

Android接口:通过一个监听来获取音频数据

public interface OnPcmDataListener {public void onPcmData(byte[] data, int size);
}public void setOnPcmDataListener(OnPcmDataListener onPcmDataListener);

实现音频波形

拿到了PCM数据之后,如何去绘制音频波形,就是应用层的事情了,iOS和Java层都有很多绘制音频波形的方法。
要绘制成什么样的形状都可以安装自己的需求来做。这些在网上都有很多相关的资料,在这里就不进行描述。

类似如下比较炫的效果都可以实现。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

阿里云移动端播放器高级功能---截图和音频波形 1相关推荐

  1. 阿里云移动端播放器高级功能---截图和音频波形

    基本介绍 如果用户对视频播放中的某一帧画面特别感兴趣,可以使用截图功能将这一帧视频保存起来.另外有一种场景想知道是否有声音,或者想感知声音的大小震动频率等,可以通过显示一个声音的波形来形象的表示.如下 ...

  2. 阿里云移动端播放器高级功能---安全播放

    基本介绍 如何保障视频内容的安全,不被盗链.非法下载和传播,阿里云视频点播已经有一套完善的机制保障视频的安全播放: 那么在播放器中支持哪一些安全播放的机制呢? 这里有料:视频安全解决方案. Refer ...

  3. 阿里云移动端播放器高级功能---视频下载

    基本介绍 优酷.爱奇艺.腾讯等主流的视频类App都有视频离线下载的功能,主要目的是在wifi下将视频离线在本地,然后在无网或者4G的情况下去观看离线视频.那么阿里云播放器也提供了视频下载的功能.这个功 ...

  4. 阿里云移动端播放器高级功能---直播时移

    基本介绍 通常都知道直播是无法seek拖动的,那么针对在直播中想回看之前直播过的内容的用户来说,直播时移就能派上用场.我们阿里云播放器支持了直播时移功能,用户能较为方面和快速的使用直播时移的功能. 先 ...

  5. 阿里云移动端播放器高级功能---画面控制 1

    基本介绍 经常遇到一些开发者问: 1.我们播放的时候,会有黑边怎么处理?尤其是在类似于抖音,直播这样的场景下,如果视频有黑边,很影响画面的视觉效果.而阿里云播放器提供了缩放功能,用来去除黑边,达到视频 ...

  6. 阿里云移动端播放器高级功能---画面控制

    基本介绍 经常遇到一些开发者问: 1.我们播放的时候,会有黑边怎么处理?尤其是在类似于抖音,直播这样的场景下,如果视频有黑边,很影响画面的视觉效果.而阿里云播放器提供了缩放功能,用来去除黑边,达到视频 ...

  7. 阿里云点播 web 播放器

    浅谈 最近遇到很多人使用阿里云点播 web 播放器,通过 STS 令牌的方式去播放 MTS 转码完成后的资源出现问题,"路见不平一声吼,写个过程先献丑",只是做了最基础的功能,看官 ...

  8. 【大数据技术干货】阿里云伏羲(fuxi)调度器FuxiMaster功能简介(一) 多租户(QuotaGroup)管理...

    原文链接:http://click.aliyun.com/m/13950/ 各位好,这是介绍阿里云伏羲(fuxi)调度器系列文章的第一篇,今天主要介绍多租户(QuotaGroup)管理的实现 一.Fu ...

  9. 阿里云点播集成播放器的SDK时遇到的黑屏有声音的问题

    在集成阿里云的点播功能时,集成他的sdk后播放视频遇到,有声音没有画面的问题! 在mPlayer = new AliVcMediaPlayer(AliVcMediaPlayerActivity.thi ...

最新文章

  1. 软件体系结构风格(第5-8课时)
  2. 低代码平台如何一步步摧毁开发团队的效率与创新!
  3. 系统建设或应用提供的目标或愿景性场景
  4. php mysql $_php中mysql语句的基本写法
  5. 绿色经营:从优秀到卓越最显性准则
  6. Exit- Linux必学的60个命令
  7. 数据结构与算法(一):排序算法之 - 快速排序(详细步骤图解,附代码)
  8. App Store 排名获取。
  9. 靠刷算法题,真的可以刷进大厂吗?
  10. Postman的一个使用技巧----设置环境变量
  11. objective-C 2.0
  12. 分享插件 Web前端助手、Restlet Client、Adblock-Plus
  13. Linux一句话精彩问答-网络无关篇
  14. 图片怎么改成jpg格式
  15. [Irving]Sql Server 日期、时间、比较
  16. VS2017使用Visual Leak Detector
  17. trim函数 html,trim函数的使用方法(你会用TRIMMEAN 函数吗?)
  18. 【计算机图形学】基于OpenGL的中点Bresenham算法画直线
  19. CTFHub_历年真题_MISC——“图片修复”、“磁盘恢复”、“蛛丝马迹”
  20. 非线性方程的数值解法

热门文章

  1. labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)
  2. python try else_python try/except/else与递归
  3. docker安装elasticsearch_Elasticsearch amp; Kibana 部署安装 (Docker)
  4. 编译php时的configure,PHP编译configure时常见错误
  5. java 2d划线 刷子_月光软件站 - 编程文档 - Java - Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO 2D GRAPHICS)...
  6. c语言报错spawning 插1,C语言错误····error spawning c1.exe
  7. java项目导入不了怎么办_Myeclipse导入项目无法部署或者丢失了.setting文件夹怎么办...
  8. python手机话费_查询话费订单详情示例代码
  9. 华罗庚先生的数学教育思想
  10. MIT陈刚教授案件新进展,律师反诉美检察官利用不实信息制造舆情、干扰司法公正...