android开发视频播放器------Vitamio 播放页实例
来源:互联网 发布:网络购物的发展历程 编辑:程序博客网 时间:2024/05/23 11:48
增加功能------
1.媒体控制
2.显示模式
3.全屏播放
布局代码:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#000" > <io.vov.vitamio.widget.VideoView android:id="@+id/surface_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:background="@drawable/mediacontroller_sreen_size_100" android:onClick="changeLayout"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" > <ProgressBar android:id="@+id/progressbar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/download_rate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="" /> <TextView android:id="@+id/load_rate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="" /> </LinearLayout></RelativeLayout>
java代码:
package com.renaikx.vitamioplayer;import io.vov.vitamio.LibsChecker;import io.vov.vitamio.MediaPlayer;import io.vov.vitamio.MediaPlayer.OnBufferingUpdateListener;import io.vov.vitamio.MediaPlayer.OnInfoListener;import io.vov.vitamio.MediaPlayer.OnPreparedListener;import io.vov.vitamio.widget.MediaController;import io.vov.vitamio.widget.VideoView;import android.os.Bundle;import android.app.Activity;import android.text.TextUtils;import android.view.Menu;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.Button;import android.widget.EditText;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements OnInfoListener,OnBufferingUpdateListener {// private EditText et_url;private Button start;private VideoView videoView;private String path = "http://10.2.9.1/Uploads/vod/bb.mp4";private ProgressBar progressbar;private TextView download_rate;private TextView load_rate;private int videoLayout = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 去掉标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);// 全屏显示getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.videoview);// et_url = (EditText) findViewById(R.id.et_url);// start = (Button) findViewById(R.id.start);videoView = (VideoView) findViewById(R.id.surface_view);progressbar = (ProgressBar) findViewById(R.id.progressbar);download_rate = (TextView) findViewById(R.id.download_rate);load_rate = (TextView) findViewById(R.id.load_rate);if (!LibsChecker.checkVitamioLibs(this))return;if (path == "") {Toast.makeText(this, "请输入路径", 0).show();return;} else {// 给播放视图设置播放路径videoView.setVideoPath(path);// 设置控制器videoView.setMediaController(new MediaController(MainActivity.this));// 让控件获得焦点videoView.requestFocus();videoView.setOnInfoListener(this);videoView.setOnBufferingUpdateListener(this);videoView.setOnPreparedListener(new OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {// TODO Auto-generated method stub// 设置视频或者音频播放速度default to 1.0,mp.setPlaybackSpeed(1.0f);//设置显示选项videoView.setVideoLayout(VideoView.VIDEO_LAYOUT_SCALE, 0);}});}}public void startPlay(View v) {String url = "http://10.2.9.1/Uploads/vod/bb.mp4";path = url;if (!TextUtils.isEmpty(url)) {videoView.setVideoPath(url);}}public void openVideo(View v) {videoView.setVideoPath(path);}// 更新媒体流缓冲状态,@Overridepublic void onBufferingUpdate(MediaPlayer mp, int percent) {// TODO Auto-generated method stubload_rate.setText(percent + "%");}// Called to indicate an info or a warning.@Overridepublic boolean onInfo(MediaPlayer mp, int what, int extra) {// TODO Auto-generated method stubswitch (what) {case MediaPlayer.MEDIA_INFO_BUFFERING_START:if (videoView.isPlaying()) {videoView.pause();progressbar.setVisibility(View.VISIBLE);download_rate.setText("");load_rate.setText("");download_rate.setVisibility(View.VISIBLE);load_rate.setVisibility(View.VISIBLE);}break;case MediaPlayer.MEDIA_INFO_BUFFERING_END:videoView.start();progressbar.setVisibility(View.GONE);download_rate.setVisibility(View.GONE);load_rate.setVisibility(View.GONE);case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:download_rate.setText(extra + "kb/s ");}return true;}public void changeLayout(View v) {videoLayout++;if (videoLayout == 4) {videoLayout = 0;}switch (videoLayout) {case 0:videoLayout = VideoView.VIDEO_LAYOUT_ORIGIN;v.setBackgroundResource(R.drawable.mediacontroller_sreen_size_100);break;case 1:videoLayout = VideoView.VIDEO_LAYOUT_SCALE;v.setBackgroundResource(R.drawable.mediacontroller_screen_fit);break;case 2:videoLayout = VideoView.VIDEO_LAYOUT_STRETCH;v.setBackgroundResource(R.drawable.mediacontroller_screen_size);break;case 3:videoLayout = VideoView.VIDEO_LAYOUT_ZOOM;v.setBackgroundResource(R.drawable.mediacontroller_sreen_size_crop);break;}videoView.setVideoLayout(videoLayout, 0);}}
权限配置:
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
0 0
- android开发视频播放器------Vitamio 播放页实例
- Android vitamio视频播放器
- vitamio视频播放器
- Vitamio视频播放器
- android开发视频播放器-----视频播放 Vitamio框架的使用(一)
- android视频播放器Vitamio的使用
- android视频播放器(vitamio)
- Android 视频播放器vitamio框架
- android视频播放框架Vitamio
- android开发视频播放器------Vitamio第一个例子 播放url类型文件
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(一)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(二)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(三)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(四)
- android播放器Vitamio
- Android Vitamio 播放器
- Vitamio视频播放器(一)
- Vitamio视频播放器(二)
- Intent(意图)
- 完美解决ListView和ViewPager的滑动冲突
- CentOS 6.5: Howto install GTK version 2.8.0?
- HDOJ 4496 D-City
- CentOS Linux下Infobright的安装
- android开发视频播放器------Vitamio 播放页实例
- 使用Chrome开发工具调试Canvas
- 第15周 项目2-阅读程序
- Python 正则表达式查找特定XML Tag中的Attribute
- http头部信息详讲
- Servlet之Listener监听器
- 【Hibernate框架】Hibernate入门
- java I/O流学习(三)
- qtp写日志到txt中