视频播放界面主要是将视频详情界面或者播放记录界面的视频进行全屏播放,获取 在 在 (1)由于视频播放界面是通过播放记录界面(目前未创建)和课程详情界面跳转的,因此需要在播放记录界面和课程详情界面添加相应的跳转逻辑。由于播放记录界面暂未创建,因此首先在课程详情界面添加相应代码,找到 (2)在视频播放界面点击后退按钮时,需要通过回传数据信息来设置课程详情界面的图 标,因此需要在 在 参考资料:《android项目实战——博学谷》(黑马程序员著)
本项目是用eclipse软件编写,经过我的亲自实践,其真实有效,希望能给您有所帮助😘😘
项目版本:android5.1.1
AVD建议:android4.4.2及以上
若有不足之处或不对的地方,欢迎大佬们指点 文章目录
视频所在的本地路径并进行加载即可完成视频播放效果图:
1、创建课程详情界面布局文件
activity_video_play.xml
res/layout
文件夹中新建activity_video_play.xml
文件,代码如下:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <VideoView android:id="@+id/videoView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </RelativeLayout>
2、创建raw文件夹
res
目录下创建raw
文件夹。
raw
文件夹与assets
类似,该文件夹中的文件在程序 打包时会原封不动的保存到APK中,不会被编译成二进制。不同的是,res/raw
中的文件会被映射到R 文件中,访问时直接使用资源ID
即可,而assets
文件夹下的文件不会被映射到R文件中,访问时需要AssetManager
类。
然后在res/raw
文件夹中放入要播放的视频videoll.mp4,用于测试视频播放功能3、视频播放界面逻辑代码
.activity
包中新建VideoPlayActivity.java
文件,具体代码如下:package china.ynyx.heyunhui.activity; import android.content.Intent; import android.content.pm.ActivityInfo; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.KeyEvent; import android.view.WindowManager; import android.widget.MediaController; import android.widget.Toast; import android.widget.VideoView; import china.ynyx.heyunhui.R; public class VideoPlayActivity extends AppCompatActivity { private VideoView videoView; private MediaController controller; private String videoPath;//本地视频地址 private int position;//传递视频详情界面点击的视频位置 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置界面全屏显示 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_video_play); //设置此界面为横屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //获取从播放记录界面传递过来的视频地址 videoPath = getIntent().getStringExtra("videoPath"); position=getIntent().getIntExtra("position",0); init(); } /** * 初始化UI控件 */ private void init() { videoView = (VideoView) findViewById(R.id.videoView); controller = new MediaController(this); videoView.setMediaController(controller); play(); } /** * 播放视频 */ private void play() { if (TextUtils.isEmpty(videoPath)) { Toast.makeText(this, "本地没有此视频,暂无法播放", Toast.LENGTH_SHORT).show(); return; } String uri = "android.resource://" + getPackageName() + "/" + R.raw.video11; videoView.setVideoPath(uri); videoView.start(); } /** * 点击后退键 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //把视频详情界面传递过来的被点击视频的位置传递回去 Intent data=new Intent(); data.putExtra("position", position); setResult(RESULT_OK, data); return super.onKeyDown(keyCode, event); } }
4、修改课程详情界面
VideoListActivity.java
文件中的init()
方法,在注释“//跳转到视频播放界面
”下方添加如下代码:Intent intent=new Intent(VideoListActivity.this,VideoPlayActivity.class); intent.putExtra("videoPath", videoPath); intent.putExtra("position", position); startActivityForResult(intent, 1);
VideoListActivity
类中重写onActivityResult()
方法来接收当前视频在视频列表中的位置position
,同时设置课程详情界面的图标状态,具体代码如下:@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(data!=null){ // 接收播放界面回传过来的被选中的视频的位置 int position=data.getIntExtra("position", 0); adapter.setSelectedPosition(position);// 设置被选中的位置 // 目录选项卡被选中时所有图标的颜色值 lv_video_list.setVisibility(View.VISIBLE); sv_chapter_intro.setVisibility(View.GONE); tv_intro.setBackgroundColor(Color.parseColor("#FFFFFF")); tv_video.setBackgroundColor(Color.parseColor("#30B4FF")); tv_intro.setTextColor(Color.parseColor("#000000")); tv_video.setTextColor(Color.parseColor("#FFFFFF")); } }
5、修改
AndroidManifest.xml
文件AndroidManifest.xml
文件中添加如下代码:<activity android:name="china.ynyx.heyunhui.activity.VideoPlayActivity"></activity>
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算