博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android studio 读取sd卡mp3 播放音乐
阅读量:1542 次
发布时间:2019-04-21

本文共 3205 字,大约阅读时间需要 10 分钟。

第一步布局文件  
第二步权限
第三步 手机设置权限第四步 类package com.example.myapplication;import android.content.Context;import android.media.MediaPlayer;import android.os.Environment;import android.widget.Toast;import java.io.IOException;public class MP3Player {
private MediaPlayer mp; private String path; private int length; public MP3Player(Context ctx) {
mp = new MediaPlayer(); // 获取内部存储器绝对路径/sdcard/Download/ANewDay.mp3 path = Environment.getExternalStorageDirectory().getAbsolutePath(); path="/sdcard/Music/"; Toast.makeText(ctx, path, Toast.LENGTH_LONG).show(); } public int getPosition() {
// 获取当前位置 return mp.getCurrentPosition(); } public int getLength() {
return length; } public void init(String fileName) {
path = path + "/" + fileName; try {
// 存储在SD卡或其他文件路径下的媒体文件 mp.setDataSource(path); // 音乐文件准备 mp.prepare(); // 音乐文件长度 length = mp.getDuration(); } catch (IOException e) {
e.printStackTrace(); } } public void play() {
if (mp.isPlaying()) {
mp.stop(); } else {
mp.start(); } } public void pause() {
mp.pause(); } public void stop() {
mp.stop(); } public void destroy() {
mp.release(); }}第五步主代码package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.TextView;import java.io.File;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {
private MP3Player mp3Player; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("11111111"); System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)); ///mnt/sdcard/Music File file=new File("/sdcard/Music"); final File[] files=file.listFiles(); if (files == null){
Log.e("error","空目录"); } List
s = new ArrayList<>(); for(int i =0;i
arrayAdapter= new ArrayAdapter
( MainActivity.this, android.R.layout.simple_list_item_1,s); ListView listView = (ListView) findViewById(R.id.lv); listView.setAdapter(arrayAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView
parent, View view, int position, long id) {
System.out.println(id); System.out.println(files[(int)id].getAbsolutePath()); mp3Player = new MP3Player(MainActivity.this); mp3Player.init(files[(int)id].getName()); mp3Player.play(); } }); }}

在这里插入图片描述

转载地址:http://gcqdy.baihongyu.com/

你可能感兴趣的文章
YOLOV-4
查看>>
ROS下基于物体识别的机器人抓取算法以及机械臂实物抓取实验
查看>>
基于opencv的机械臂抓取研究及实物实验
查看>>
Aruco码 摄像头 识别和定位 python-opencv
查看>>
ROS机器人操作系统
查看>>
ROS - MoveIt 学习
查看>>
python----学习
查看>>
[转]《python+opencv实践》一、基于颜色的物体追踪(下)
查看>>
[转]《python+opencv实践》一、基于颜色的物体追踪(上)
查看>>
Python_Opencv
查看>>
机器人学
查看>>
CentOS7 部署安装FastDFS多机版(一)——安装FastDFS
查看>>
CentOS7 部署安装FastDFS多机版(二)——分布式配置FastDFS
查看>>
CentOS7 部署安装FastDFS多机版(三)——安装FastDFS的PHP扩展
查看>>
CentOS7 安装Docker,并设置Docker国内镜像源解决Docker访问速度慢的问题
查看>>
Ubuntu1804通过deb文件方式安装java
查看>>
安装memcached 和 php-memcached 实现PHP访问memcached
查看>>
vue中监听对象类型变量值的变化
查看>>
Win10 WSL运行docker报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
查看>>
Ubuntu18.04 安装laravel6
查看>>