鱼C论坛

 找回密码
 立即注册
查看: 1782|回复: 0

[学习笔记] android 8.4.1

[复制链接]
发表于 2017-10-30 10:38:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
新建个项目修改AndroidManifest.xml,在manifest标签下添加
  1. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
复制代码

修改activity_main.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical">

  6.     <Button
  7.         android:id="@+id/play"
  8.         android:layout_width="match_parent"
  9.         android:layout_height="wrap_content"
  10.         android:text="play"/>
  11.     <Button
  12.         android:id="@+id/pause"
  13.         android:layout_width="match_parent"
  14.         android:layout_height="wrap_content"
  15.         android:text="pause"/>
  16.     <Button
  17.         android:id="@+id/stop"
  18.         android:layout_width="match_parent"
  19.         android:layout_height="wrap_content"
  20.         android:text="stop"/>

  21. </LinearLayout>
复制代码

修改mainactivity.java
  1. package com.example.xinwei.playaudiotest;

  2. import android.Manifest;
  3. import android.content.pm.PackageManager;
  4. import android.media.MediaPlayer;
  5. import android.os.Environment;
  6. import android.support.annotation.NonNull;
  7. import android.support.v4.app.ActivityCompat;
  8. import android.support.v4.content.ContextCompat;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.Toast;

  14. import java.io.File;
  15. import java.io.IOException;

  16. public class MainActivity extends AppCompatActivity implements View.OnClickListener{

  17.     private MediaPlayer mediaPlayer=new MediaPlayer();
  18.     @Override
  19.     protected void onCreate(Bundle savedInstanceState) {
  20.         super.onCreate(savedInstanceState);
  21.         setContentView(R.layout.activity_main);
  22.         Button play=(Button)findViewById(R.id.play);
  23.         Button pause=(Button)findViewById(R.id.pause);
  24.         Button stop=(Button)findViewById(R.id.stop);
  25.         if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
  26.             ActivityCompat.requestPermissions(MainActivity.this,new String[]{
  27.                     Manifest.permission.WRITE_EXTERNAL_STORAGE
  28.             },1);
  29.         }else {
  30.             initMediaPlayer();
  31.         }
  32.     }

  33.     @Override
  34.     public void onClick(View view) {
  35.         switch (view.getId()){
  36.             case R.id.play:
  37.                 if(!mediaPlayer.isPlaying()){
  38.                     mediaPlayer.start();
  39.                 }
  40.                 break;
  41.             case R.id.pause:
  42.                 if(!mediaPlayer.isPlaying()){
  43.                     mediaPlayer.pause();
  44.                 }
  45.                 break;
  46.             case R.id.stop:
  47.                 if(!mediaPlayer.isPlaying()){
  48.                     mediaPlayer.reset();
  49.                     initMediaPlayer();
  50.                 }
  51.                 break;
  52.             default:
  53.                 break;
  54.         }
  55.     }

  56.     private void initMediaPlayer() {
  57.         File file=new File(Environment.getExternalStorageDirectory(),"music.np3");
  58.         try {
  59.             mediaPlayer.setDataSource(file.getPath());
  60.             mediaPlayer.prepare();
  61.         } catch (IOException e) {
  62.             e.printStackTrace();
  63.         }
  64.     }

  65.     @Override
  66.     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  67.         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  68.         switch (requestCode){
  69.             case 1:
  70.                 if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
  71.                     initMediaPlayer();
  72.                 }else {
  73.                     Toast.makeText(this, "denied permission will not use program", Toast.LENGTH_SHORT).show();
  74.                     finish();
  75.                 }
  76.                 break;
  77.             default:
  78.         }
  79.     }

  80.     @Override
  81.     protected void onDestroy() {
  82.         super.onDestroy();
  83.         if(mediaPlayer!=null){
  84.             mediaPlayer.stop();
  85.             mediaPlayer.release();
  86.         }
  87.     }
  88. }
复制代码

因为模拟器里没有mp3文件所以点击按钮也没用

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表