您的位置:首页 > 其它

vitamio简述

2017-09-04 17:23 686 查看

vitamio

一款开源的多媒体框架,全硬件加速和渲染。

新特性

基于最新的ffmpeg2.0 版本

支持ffmpegAV 选项,可以自定义协议头

支持多种硬件平台,x86,mips eg

VideoView

ViewView继承自SurfaceView,内部有引用这mediaPlayer(Vitamio本身的),以及播放相关的mediaController。

1. 调用简单:

//对于流媒体,可以通过uri进行播放

mVideoView.setVideoPath(path);

mVideoView.setMediaController(new MediaController(this));

mVideoView.requestFocus();

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// optional need Vitamio 4.0
mediaPlayer.setPlaybackSpeed(1.0f);
}
});


VideoView高内聚

mediaPlayer对象的使用

mMediaPlayer = new MediaPlayer(mContext, mHardwareDecoder);
mMediaPlayer.setOnPreparedListener(mPreparedListener);
mMediaPlayer.setOnVideoSizeChangedListener(mSizeChangedListener);
mMediaPlayer.setOnCompletionListener(mCompletionListener);
mMediaPlayer.setOnErrorListener(mErrorListener);
mMediaPlayer.setOnBufferingUpdateListener(mBufferingUpdateListener);
mMediaPlayer.setOnInfoListener(mInfoListener);
mMediaPlayer.setOnSeekCompleteListener(mSeekCompleteListener);
mMediaPlayer.setOnTimedTextListener(mTimedTextListener);
mMediaPlayer.setDataSource(mContext, mUri, mHeaders);  //可以设置多种多样的数据源
mMediaPlayer.setDisplay(mSurfaceHolder);
mMediaPlayer.setBufferSize(mBufSize);
mMediaPlayer.setVideoChroma(mVideoChroma == MediaPlayer.VIDEOCHROMA_RGB565 ? MediaPlayer.VIDEOCHROMA_RGB565 : MediaPlayer.VIDEOCHROMA_RGBA);
mMediaPlayer.setScreenOnWhilePlaying(true);  //注意,此处的方法最终调用的是 hodler的方法 setKeepScreenOn(True)
mMediaPlayer.prepareAsync();

//回调接口丰富 onPrepared onError onCompelete  onBuffer onSeek onInfo onTimeText
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vitamio