android studio 50
发布日期:2021-06-24 15:21:32
浏览次数:5
分类:技术文章
本文共 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 ListMusicList = 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 权限
转载地址:https://blog.csdn.net/weixin_33595571/article/details/107753901 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月26日 14时53分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vue 事件总线EventBus的概念、使用以及注意点
2019-04-27
JavaScript 用七种方式教你判断一个变量是否为数组类型
2019-04-27
黄家懿:河北高校邀请赛 -- 二手车交易价格预测决赛答辩
2019-04-27
如何利用pyecharts绘制酷炫的桑基图?
2019-04-27
王朝阳:河北高校邀请赛 -- 二手车交易价格预测决赛答辩
2019-04-27
Scratch等级考试(二级)模拟题
2019-04-27
如何在Jupyter Lab中显示pyecharts的图形?
2019-04-27
什么是Python之禅?
2019-04-27
【青少年编程】【Scratch】01 运动模块
2019-04-27
json的序列化与反序列化
2019-04-27
【第16周复盘】学习的飞轮
2019-04-27
如何利用pyecharts绘制炫酷的关系网络图?
2019-04-27
NCEPU:线下组队学习周报(007)
2019-04-27
LeetCode-LCP 18. 早餐组合(Goland实现)
2019-04-27
C++从入门到进阶近100本书推荐电子书pdf
2019-04-28
蓝桥杯 - [2014年第五届真题]分糖果(模拟)
2019-04-28
蓝桥杯 - [2013年第四届真题]大臣的旅费(DFS)
2019-04-28
蓝桥杯 - [2013年第四届真题]带分数(全排列)
2019-04-28
蓝桥杯 - [2013年第四届真题]幸运数(模拟)
2019-04-28
蓝桥杯 - [2013年第四届真题]横向打印二叉树(排序二叉树)
2019-04-28