========================================================================================================================
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_choose" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="打开相册播放视频" android:textColor="@color/black" android:textSize="17sp" /> <VideoView android:id="@+id/vv_content" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
主代码:
package com.example.myapplication; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.MediaController; import android.widget.VideoView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private final static String TAG = "VideoPlayActivity"; private VideoView vv_content; // 声明一个视频视图对象 private int CHOOSE_CODE = 3; // 只在视频库挑选图片的请求码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 从布局文件中获取名叫vv_content的视频视图 vv_content = findViewById(R.id.vv_content); findViewById(R.id.btn_choose).setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.btn_choose) { // 创建一个内容获取动作的意图(准备跳到系统视频库) // ACTION_GET_CONTENT只可选择近期的视频 //Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // ACTION_PICK可选择所有视频 Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("video/*"); // 类型为视频 startActivityForResult(intent, CHOOSE_CODE); // 打开系统视频库 } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); if (resultCode == RESULT_OK && requestCode == CHOOSE_CODE) { if (intent.getData() != null) // 从视频库回来 { vv_content.setVideoURI(intent.getData()); // 设置视频视图的视频路径 MediaController mc = new MediaController(this); // 创建一个媒体控制条 vv_content.setMediaController(mc); // 给视频视图设置相关联的媒体控制条 mc.setMediaPlayer(vv_content); // 给媒体控制条设置相关联的视频视图 vv_content.start(); // 视频视图开始播放 } } } }
原文地址:http://www.cnblogs.com/xiaobaibailongma/p/16794287.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性