Android编程新手求助:如何在应用中添加视频播放功能?
嘿,作为Android新手想实现视频播放功能完全没问题,我来帮你把代码补全并梳理清楚每一步操作~
Android基础视频播放功能实现指南
1. 补全后的完整Activity代码
你已经写了开头的框架,我帮你完善剩下的部分,每一步都加了注释说明:
package com.example.user_pc.popup; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.MediaController; import android.widget.VideoView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 找到布局文件中定义的VideoView控件 VideoView videoViewId = findViewById(R.id.video_view); // 设置视频来源:这里分两种情况 // 情况1:播放res/raw文件夹中的本地视频(假设视频文件名为sample_video.mp4) videoViewId.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.sample_video); // 情况2:播放网络视频(记得先加网络权限!) // videoViewId.setVideoPath("https://example.com/your_video.mp4"); // 添加媒体控制器,让用户能进行播放、暂停、拖动进度等操作 MediaController mediaController = new MediaController(this); // 将控制器锚定到VideoView上,确保控件位置正确 mediaController.setAnchorView(videoViewId); videoViewId.setMediaController(mediaController); // 启动视频播放 videoViewId.start(); } }
2. 对应的布局文件(activity_main.xml)
你需要在布局里添加VideoView控件,示例如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:scaleType="fitCenter"/> <!-- 避免视频拉伸变形 --> </LinearLayout>
3. 关键注意点
- 本地视频存放:如果用本地视频,需要在
res目录下新建raw文件夹(右键res→New→Android Resource Directory,类型选raw),把视频文件放进去即可。 - 网络权限:如果播放网络视频,必须在
AndroidManifest.xml中添加网络权限:<uses-permission android:name="android.permission.INTERNET"/> - 错误处理(可选):如果想处理视频加载失败的情况,可以给VideoView添加错误监听:
videoViewId.setOnErrorListener((mp, what, extra) -> { // 这里可以弹出提示告诉用户视频加载失败 return true; });
这样就能实现基础的视频播放功能啦,有细节问题随时问~
内容的提问来源于stack exchange,提问作者XcombeX
相关产品推荐
相关产品推荐

