移动应用开发,完成一个简易音频和视频实例,写出布局文件和相应的Activity文件,要求分别点击音频播放和视频播放按钮时要播放选择的音频和视频文件播放
时间: 2024-01-21 15:16:51 浏览: 64
详解Android开发录音和播放音频的步骤(动态获取权限)
3星 · 编辑精心推荐
布局文件示例:
```xml
<?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:orientation="vertical">
<Button
android:id="@+id/audio_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play Audio" />
<Button
android:id="@+id/video_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play Video" />
</LinearLayout>
```
Activity文件示例:
```java
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private Button audioButton;
private Button videoButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
audioButton = findViewById(R.id.audio_button);
videoButton = findViewById(R.id.video_button);
audioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playAudio();
}
});
videoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playVideo();
}
});
}
private void playAudio() {
if (mediaPlayer != null) {
mediaPlayer.release();
}
mediaPlayer = MediaPlayer.create(this, R.raw.audio_file);
mediaPlayer.start();
}
private void playVideo() {
Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video_file);
Intent intent = new Intent(Intent.ACTION_VIEW, videoUri);
intent.setDataAndType(videoUri, "video/mp4");
startActivity(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
}
}
}
```
其中,`R.raw.audio_file` 和 `R.raw.video_file` 是分别放置在 res/raw 目录下的音频和视频文件的资源ID。在播放音频时使用 `MediaPlayer` 类,而在播放视频时则使用 `Intent` 类打开系统的视频播放器。
阅读全文