|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
新建个项目修改AndroidManifest.xml,在manifest标签下添加- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
复制代码
修改activity_main.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/play"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="play"/>
- <Button
- android:id="@+id/pause"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="pause"/>
- <Button
- android:id="@+id/stop"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="stop"/>
- </LinearLayout>
复制代码
修改mainactivity.java- package com.example.xinwei.playaudiotest;
- import android.Manifest;
- import android.content.pm.PackageManager;
- import android.media.MediaPlayer;
- import android.os.Environment;
- import android.support.annotation.NonNull;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
- import java.io.File;
- import java.io.IOException;
- public class MainActivity extends AppCompatActivity implements View.OnClickListener{
- private MediaPlayer mediaPlayer=new MediaPlayer();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button play=(Button)findViewById(R.id.play);
- Button pause=(Button)findViewById(R.id.pause);
- Button stop=(Button)findViewById(R.id.stop);
- if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
- ActivityCompat.requestPermissions(MainActivity.this,new String[]{
- Manifest.permission.WRITE_EXTERNAL_STORAGE
- },1);
- }else {
- initMediaPlayer();
- }
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()){
- case R.id.play:
- if(!mediaPlayer.isPlaying()){
- mediaPlayer.start();
- }
- break;
- case R.id.pause:
- if(!mediaPlayer.isPlaying()){
- mediaPlayer.pause();
- }
- break;
- case R.id.stop:
- if(!mediaPlayer.isPlaying()){
- mediaPlayer.reset();
- initMediaPlayer();
- }
- break;
- default:
- break;
- }
- }
- private void initMediaPlayer() {
- File file=new File(Environment.getExternalStorageDirectory(),"music.np3");
- try {
- mediaPlayer.setDataSource(file.getPath());
- mediaPlayer.prepare();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- switch (requestCode){
- case 1:
- if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
- initMediaPlayer();
- }else {
- Toast.makeText(this, "denied permission will not use program", Toast.LENGTH_SHORT).show();
- finish();
- }
- break;
- default:
- }
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if(mediaPlayer!=null){
- mediaPlayer.stop();
- mediaPlayer.release();
- }
- }
- }
复制代码
因为模拟器里没有mp3文件所以点击按钮也没用 |
|