编写一个安卓程序,既可以播放音频文件,又可以播放视频文件
时间: 2024-06-11 21:07:03 浏览: 127
这里提供一份简单的 Android Studio 代码,实现播放音频文件和视频文件的功能。
1. 首先在 layout 文件夹下创建一个名为 activity_main.xml 的布局文件,如下所示:
```xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btnAudio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play Audio"
android:layout_centerInParent="true"
android:onClick="playAudio"/>
<Button
android:id="@+id/btnVideo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play Video"
android:layout_below="@id/btnAudio"
android:layout_centerInParent="true"
android:onClick="playVideo"/>
</RelativeLayout>
```
2. 在 res 文件夹下创建一个名为 raw 的文件夹,并将要播放的音频文件和视频文件放入该文件夹中。
3. 在 MainActivity.java 文件中添加以下代码:
```java
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.VideoView;
import android.widget.MediaController;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void playAudio(View view) {
if (mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(this, R.raw.audio_file);
}
mediaPlayer.start();
Toast.makeText(this, "Playing audio", Toast.LENGTH_SHORT).show();
}
public void playVideo(View view) {
if (videoView == null) {
videoView = findViewById(R.id.videoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video_file);
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
}
videoView.start();
Toast.makeText(this, "Playing video", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
if (videoView != null) {
videoView.stopPlayback();
videoView = null;
}
}
}
```
4. 运行程序,在应用界面中点击“Play Audio”按钮可以播放音频文件,在点击“Play Video”按钮可以播放视频文件。
注意:在程序结束时需要释放 MediaPlayer 和 VideoView 对象,否则可能会导致资源泄漏。因此,在 onDestroy() 方法中对这些对象进行释放。
阅读全文