工作需要,想开发一款播放器,当无意间浏览到APlayer的时候大爱啊,有木有
迅速投入精力,在APlayer论坛看大牛们的作品及经验,看SDK中提供的chm电子书
最后看了博客园中周见智的文章(灰常好!最终作品也用的他的demo改进)
先来晒一下最终的效果图片。

MyPLVideoTextureViewDemo

这是一个自己学习android视频播放的demo。

基于PLDroidPlayer.

使用PLDroidPlayer的PLVideoTextureView

包含功能:

  1. 支持屏幕右边手势上滑 –加大音量
  2. 支持屏幕左边手势上滑 –加大亮度
  3. 缓冲
  4. 根据尺寸自动转换横屏
  5. 双击放大

github

效果截图:
金沙城中心赌场 ,1.初始界面。
金沙城中心赌场 1
2.播放界面。

PLDroidPlayer

PLDroidPlayer 是一个适用于 Android 平台的音视频播放器
SDK,可高度定制化和二次开发,为 Android
开发者提供了简单、快捷的接口,帮助开发者在 Android
平台上快速开发播放器应用。

PLDroidPlayer目前基于ijkplayer,
感谢 ijkplayer
,相应的修改详见:https://github.com/pili-engineering/ijkplayer

金沙城中心赌场 2

程序预览

金沙城中心赌场 3

pic1

金沙城中心赌场 4

pic2

金沙城中心赌场 5

pic3

金沙城中心赌场 6

pic4

金沙城中心赌场 7

pic5

3.最大化界面。
金沙城中心赌场 8

用法

4.全屏效果。

1. sdk集成

首先,下载最新版本的
PLDroidPlayer
SDK

金沙城中心赌场 9

2. 导入 SDK

金沙城中心赌场 10

编后语:
另:附赠一个QQ影音的皮肤包

3. 添加依赖

compile files('libs/pldroid-player-1.3.1.jar')
compile 'com.qiniu:happy-dns:0.2.+'
compile 'com.qiniu.pili:pili-android-qos:0.8.+'

QQ影音的皮肤包:

4. 添加权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

播放器案例源码-C#开发:

5. 布局

<com.pili.pldroid.player.widget.PLVideoTextureView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"/>

下载后源码无法通过编译的,下载一下源码中官方地址的sdk

6. 播放器设置(需要用到sdk中demo里的MediaController)

很多朋友问我,不知道怎么引用DLL,不知道怎么运行不起来,下面做解释

6.1 初始化

mVideoView = (PLVideoTextureView) findViewById(R.id.videoView);

因为附件尺寸问题,没有附带过多的解码库,可以在下面的网址下载sdk和解码库)

6.2 设置加载动画

mLoadingView = (ProgressBar) findViewById(R.id.LoadingView);
mVideoView.setBufferingIndicator(mLoadingView);

本人同时发表在CSkin论坛和APlayer论坛

6.3 音量与亮度的初始化

mVolumeBrightnessLayout = findViewById(R.id.operation_volume_brightness);
mOperationBg = (ImageView) findViewById(R.id.operation_bg);
mOperationPercent = (ImageView) findViewById(R.id.operation_percent);

6.4 获取最大音量

mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mMaxVolume = mAudioManager
            .getStreamMaxVolume(AudioManager.STREAM_MUSIC);

6.5 初始化手势识别器

mGestureDetector = new GestureDetector(this, new VideoActivity.MyGestureListener());

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图