android简单视频播放器,Android下用Media Player实现一个最简单的视频播放器
时间: 2024-03-18 10:44:00 浏览: 121
好的,下面是一个使用 Media Player 实现最简单的 Android 视频播放器的示例代码:
1. 添加权限
在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
2. 创建布局文件
在 res/layout 目录下创建一个名为 activity_main.xml 的布局文件,并添加以下代码:
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
```
3. 创建 Activity
在 MainActivity.java 文件中添加以下代码:
```java
public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback, MediaPlayer.OnPreparedListener {
private SurfaceView mSurfaceView;
private Button mBtnPlay;
private MediaPlayer mMediaPlayer;
private SurfaceHolder mSurfaceHolder;
private String mVideoUrl = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"; // 视频地址
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSurfaceView = findViewById(R.id.surface_view);
mBtnPlay = findViewById(R.id.btn_play);
mBtnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
playVideo();
}
});
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
}
private void playVideo() {
if (mMediaPlayer == null) {
mMediaPlayer = new MediaPlayer();
} else {
mMediaPlayer.reset();
}
try {
mMediaPlayer.setDataSource(mVideoUrl);
mMediaPlayer.setDisplay(mSurfaceHolder);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
}
```
4. 运行程序
运行程序后,点击 Play 按钮即可播放视频。这是一个最简单的 Android 视频播放器,可以根据需求进行扩展。
阅读全文