Android应用软件开发

194课时
1.7K学过
8分

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
3分钟

6.5 实施步骤

实施步骤

步骤1:新建一个Module,命名为Ex6_5,其他设置默认。

步骤2:编写activity_main.xml文件。清单如下:

Ex6_5 activity_main.xml清单

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:text="assets播放"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/openAssetMusic"/>

    <Button
        android:text="暂停assets"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/pause"/>

    <Button
        android:text="raw播放"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/openRawMusic"/>

    <Button
        android:text="暂停raw"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/pauseRawMusic"/>

</LinearLayout>

步骤3:编写MainActivity.java文件。清单如下:

Ex6_5 MainActivity.java清单

package com.example.a123.aa;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import java.io.IOException;


public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private static final String TAG = "MainActivity";
    private Button openAssetMusic;
    private MediaPlayer mediaPlayer;
    private Button pause;
    private Button openRawMusic;
    private Button pauseRawMusic;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        openAssetMusic = findViewById(R.id.openAssetMusic);
        openAssetMusic.setOnClickListener(this);
        pause = findViewById(R.id.pause);
        pause.setOnClickListener(this);
        openRawMusic = findViewById(R.id.openRawMusic);
        openRawMusic.setOnClickListener(this);
        pauseRawMusic = findViewById(R.id.pauseRawMusic);
        pauseRawMusic.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.openAssetMusic:
                openAssetMusics();
                break;
            case R.id.pause:
                mediaPlayer.pause();
                break;
            case R.id.openRawMusic:
                openRawMusicS();
                break;
            case R.id.pauseRawMusic:
                mediaPlayer.pause();
                break;
        }
    }

    private void openRawMusicS() {
        mediaPlayer = MediaPlayer.create(this, R.raw.aas);
        mediaPlayer.start();
    }

    private void openAssetMusics() {
        try {
            AssetFileDescriptor fd = getAssets().openFd("identification_success.mp3");
            mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}