博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android studio 50
阅读量:1542 次
发布时间:2019-04-21

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

1*********************** MainActivity.javapackage com.example.mymusic01;import android.app.Activity;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 java.io.File;import java.util.ArrayList;import java.util.List;public class MainActivity extends Activity {
private List
MusicList = new ArrayList
(); private MP3Player mp3Player; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);// initFruits(); // 初始化水果数据 System.out.println("11111111"); System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)); ///mnt/sdcard/Music /sdcard/kgmusic/download/刘媛媛 - 五星红旗.mp3 File file=new File("/sdcard/kgmusic/download"); final File[] files=file.listFiles(); if (files == null){
Log.e("error","空目录"); } List
s = new ArrayList<>(); for(int i =0;i
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(); } }); }}2 ***********************activity_main.xml
3 *********************** MP3Play.javapackage com.example.mymusic01;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/kgmusic/download"; 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(); }}4*********************** MusicName.javapackage com.example.mymusic01;public class MusicName {
private String name; private String MusicId; public MusicName(String name, String MusicId) {
this.name = name; this.MusicId = MusicId; } public String getName() {
return name; } public String getImageId() {
return MusicId; }}5*********************** MusicAdapter.javapackage com.example.mymusic01;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.TextView;import java.util.List;public class MusicAdapter extends ArrayAdapter{
private final int resourceId; //MusicAdapter(MainActivity.this, R.layout.name_item, fruitList); public MusicAdapter(Context context, int textViewResourceId, List
objects) {
super(context, textViewResourceId, objects); resourceId = textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) {
MusicName fruit = (MusicName) getItem(position); // 获取当前项的Fruit实例 View view = LayoutInflater.from(getContext()).inflate(resourceId, null);//实例化一个对象 TextView MusicID = (TextView) view.findViewById(R.id.Music_id);//获取该布局内的图片视图 TextView MusicNameTV = (TextView) view.findViewById(R.id.Music_name);//获取该布局内的文本视图 MusicID.setText(fruit.getImageId());//为图片视图设置图片资源 MusicNameTV.setText(fruit.getName());//为文本视图设置文本内容 return view; }}6*********************** name_item.xml
权限

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

你可能感兴趣的文章
nfs挂接命令参考
查看>>
oracle一体机(exdata)创建ACFS文件系统
查看>>
xshell起图形界面后,鼠标点击不了
查看>>
limit资源限制ulimit 详解
查看>>
MAX_STRING_SIZE controls the maximum size of VARCHAR2, NVARCHAR2, and RAW data types in SQL.
查看>>
How to estimate RMAN incremental backup size using block change tracking file (Doc ID 1938079.1)
查看>>
rman备份分配指定操作
查看>>
rman备份指定备份集对应文件
查看>>
ffmpeg分割mp4视频方便快速
查看>>
使用 ffmpeg 快速合并视频文件
查看>>
diff对比二进制文件
查看>>
centos7.x添加sftp用户允许上传下载但不允许ssh登录
查看>>
【英语学习】【化学】几个与氮(Nitrogen)有关的化学词汇 (1)
查看>>
Intel 64/x86_64/IA-32/x86处理器通用寄存器 (2) - 64位通用寄存器
查看>>
【英语学习】 - 君若不离不弃,吾当生死相依
查看>>
【英语学习】星期的词源
查看>>
【人生杂谈】 - 金钱/名利 & 贫穷/富贵 && 健身房定律
查看>>
【人生杂谈】宇宙/暗物质/擎天柱
查看>>
【人生杂谈】生命DNA/理性思维/天才&神经病
查看>>
Intel 64/x86_64/IA-32/x86处理器段寄存器 - 32位段寄存器/64位段寄存器
查看>>