阿里云移动端播放器高级功能---截图和音频波形
基本介紹
如果用戶對視頻播放中的某一幀畫面特別感興趣,可以使用截圖功能將這一幀視頻保存起來。另外有一種場景想知道是否有聲音,或者想感知聲音的大小震動頻率等,可以通過顯示一個聲音的波形來形象的表示。如下圖所示:
那么播放器提供了類似的方法可以讓用戶有辦法去實現音頻波形這個功能。那么這種通常在音樂播放器中比較常見,或者在直播場景中來標識對方講話是否有聲音等,有一定的應用場景。
視頻截圖
實現接口
iOS接口如下:
/*** 功能:截取當前正在播放圖像**/ -(UIImage*) snapshot;Android接口如下:
public Bitmap snapShot();需要注意
視頻內容截取
需要知道的是視頻截圖截取的是視頻的真實內容,而不是渲染窗口大小的圖像。比如播放的是1920x1080的圖像,窗口渲染大小是800*600,那么截取出來的圖像是原始的1080p的圖像,而不是窗口渲染大小的圖像。這樣截取出來的內容不會有失真的情況。
保持鏡像和旋轉
如果此時用戶設置了鏡像或者旋轉模式,那么截取出來的視頻內容也是有旋轉和鏡像的圖像。SDK內部已經對這種情況進行了處理。
音頻波形
實現接口
用戶要實現音柱功能,播放器SDK必須要將實時的播放音頻數據回調出來,具體見一下方法:
iOS接口:通過一個block回調出PCM音頻數據
Android接口:通過一個監聽來獲取音頻數據
public interface OnPcmDataListener {public void onPcmData(byte[] data, int size); }public void setOnPcmDataListener(OnPcmDataListener onPcmDataListener);實現音頻波形
拿到了PCM數據之后,如何去繪制音頻波形,就是應用層的事情了,iOS和Java層都有很多繪制音頻波形的方法。
要繪制成什么樣的形狀都可以安裝自己的需求來做。這些在網上都有很多相關的資料,在這里就不進行描述。
類似如下比較炫的效果都可以實現。
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的阿里云移动端播放器高级功能---截图和音频波形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云云效如何保障双11大型项目管理
- 下一篇: 阿里重磅开源首款自研科学计算引擎Mars