最近做一个项目,需要连续播放音乐,播放完一首歌之后,自动播放完下一首歌。不要重复播放。

代码如下:

package com.example.asyncplayer_ex;

import java.io.IOException;

import java.util.ArrayList;

import javax.security.auth.PrivateCredentialPermission;

import android.app.Activity;

import android.drm.DrmStore.Playback;

import android.media.AsyncPlayer;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.media.MediaPlayer.OnCompletionListener;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

public class MainActivity extends Activity {

private static final String TAG = "MP3";

private AsyncPlayer asyncPlayer = new AsyncPlayer(null);

private String path;

private MediaPlayer mediaPlayer;

private int songIndex = 0;

private ArrayList songArrayList; //播放声音列表

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mediaPlayer = new MediaPlayer();

mediaPlayer.setOnCompletionListener(new CompletionListener());

path = Environment.getExternalStorageDirectory().toString() + "/mp3/Voice/";

songArrayList = new ArrayList();

songArrayList.add(path + "1.MP3");

songArrayList.add(path + "2.MP3");

songArrayList.add(path + "3.MP3");

songArrayList.add(path + "4.MP3");

songArrayList.add(path + "5.MP3");

songArrayList.add(path + "6.MP3");

songplay();

}

private final class CompletionListener implements OnCompletionListener{

@Override

public void onCompletion(MediaPlayer mp) {

nextsong();

}

}

private void nextsong() {

if (songIndex < songArrayList.size() - 1) {

songIndex = songIndex + 1;

songplay();

}

else {

songArrayList.clear();

songIndex = 0;

}

}

private void songplay() {

try {

mediaPlayer.reset();

mediaPlayer.setDataSource(songArrayList.get(songIndex));

mediaPlayer.prepare();

mediaPlayer.start();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

@Override

protected void onDestroy() {

mediaPlayer.release();

mediaPlayer = null;

super.onDestroy();

}

}

android中保存Bitmap图片到指定文件夹中的方法

/** 保存方法 */  public void saveBitmap() {   Log.e(TAG, "保存图片");   File f = new File("/s ...

Android 读写SD卡的文件

今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...

Android SD卡创建文件和文件夹失败

原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...

Android入门开发之SD卡读写操作(转)

SD卡的读写是我们在开发android 应用程序过程中最常见的操作.下面介绍SD卡的读写操作方式: 1. 获取SD卡的根目录 String  sdCardRoot = Environment.getE ...

简单登录案例(SharedPreferences存储账户信息)&amp&semi;联网请求图片并下载到SD卡(文件外部存储)

新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

Android数据存储之SD卡

为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件.SD卡大大扩充手机的存储能力. 操作SD首先要加权限: < ...

模拟器下的虚拟sd卡添加文件

1.若出现mkdir failed for myData Read-only file system,在执行 adb shell 命令后,执行mount -o remount ,rw / (去除文件的 ...

Android之外部存储&lpar;SD卡&rpar;

*手机的外部存储空间,这个我们可以理解成电脑的外接移动硬盘,U盘也行.所有的Android设备都有两个文件存储区域:“内部”和“外部”存储器.这两个名称来自早期的Android,当时大多数设备都提供内 ...

随机推荐

Apache增加Basic Auth

在.htaccess文件中增加 AuthUserFile /var/www/htpasswd/test.htpasswd AuthName EnterPassword AuthType Basic r ...

jetty

相关的文章太多了,我只按照自己的意思做简单总结. 参见: http://www.cnblogs.com/duanxz/p/3154982.html http://www.cnblogs.com/win ...

浏览器URL传参最大长度问题

这几天为解决一个BUG头疼了一段时间,BUG现象如下: 一个选择人员的选择控件,当选择多个人时(50多个的时候),返回没有错误现象,而再一次打开的时候就报404错误.看到这个错误非常纳闷,无法下手,只 ...

利用http实现文件的上传和下载

其他语言都比较方便,使用http上传.但是C++这样就差点,不过还好,Linux下有个curl的命令行工具,这是一个开源项目,底下有个子项目是libcurl,curl就是调用这个API实现的一系列ft ...

LearnCpp&period;com

LearnCpp.com is a totally free website devoted to teaching you to program in C++. Whether you’ve had ...

Python调用ansible API系列(二)执行adhoc和playbook

执行adhoc #!/usr/bin/env python # -*- coding: utf-8 -*- import sys from collections import namedtuple ...

Django rest framework 源码分析 (1)----认证

一.基础 django 2.0官方文档 https://docs.djangoproject.com/en/2.0/ 安装 pip3 install djangorestframework 假如我们想 ...

python之路2-字符串操作

1.我们可以用单引号(‘)或双引号(” ")创建字符串,并为字符串分配一个变量,例如: name = "张三" name = "wangsan" 字符 ...

idea maven &plus;spring mvc

1.步骤一 2.目录结构 3.maven junit

android 自动下一首,Android播播放完SD卡指定文件夹音乐之后,自动播放下一首相关推荐

  1. /mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径

    Android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 1. /mnt/sdcard或者/sdcard这是 ...

  2. Android系统下 SD卡各文件夹

    2019独角兽企业重金招聘Python工程师标准>>> 1..android_secure 是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了. 2..Bluetoot ...

  3. Android系统SD卡各类文件夹名称

    1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用. 2.Android:存放重要的程序数据,比如google:map的地图缓存 ...

  4. android 华为sd卡路径,(科普)详解Android系统SD卡各类文件夹名称

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 系统数据类--系统文件存储相关文件夹 1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无 ...

  5. 华为荣耀3c语言设置在哪个文件夹,(科普)详解Android系统SD卡各类文件夹名称...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 系统数据类--系统文件存储相关文件夹 1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无 ...

  6. 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!

    对于初次使用Android系统的新手来说,当打开SD开一看,里面那些林林总总的文件夹总会让自己不知所措,有些看文件夹名称,还能猜到点作用来,但是大部分的都不知道是做什么的 1..android_sec ...

  7. android sd卡名称,Android系统中SD卡各文件夹名称及功能详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1..android_secure 是官方app2sd的产物,存储了相关的软件使用认证验证,删了之后装到sd卡中的软件就无法使用了,小心别误删. 2..B ...

  8. htc android sd卡,【HTC T328W】Android系统中SD卡各文件夹功能详解

    希望你的补充说明,让我们一起来清理内存卡吧注意,软件没有卸载前,不建议删除其文件荚!1..android_secure       是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了,小 ...

  9. Android手机SD卡各文件夹说明

    SD卡用久了会产生很多文件,汇总一下贴出来给各位看看都是干什么用的,也方便大家删除一些无用的数据. 1..android_secure 是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了 ...

最新文章

  1. 秒懂数据类型的真谛—Python基础前传(4)
  2. (转) PowerDesigner中Table视图同时显示Code和Name
  3. @程序员,这些编程陷阱你中招了吗?
  4. 将数值位转换为字符位后输出
  5. 基于Python-turtle库绘制哆啦A梦和大雄在一起
  6. JAVA自学作业02
  7. nginx负载均衡的方法
  8. sql server 2012 安装与下载
  9. C#编程--ribbon界面介绍
  10. python·文本分析
  11. 固态硬盘用软件测试掉速严重,固态硬盘掉速别慌张,教你如何快速进行调节!...
  12. 【BP回归预测】鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 1554期】
  13. latex去心领域符号
  14. 爬虫 -----beautifulsoup、Xpath、re (三)附淘宝比价定向爬虫
  15. 创建一个分布式网络爬虫的故事
  16. [Java并发]の其二
  17. 3d打印英语文献_3D打印合集,从设计,技术到工业制造应用!
  18. 组合dp hdu-4489-The King’s Ups and Downs
  19. 从概念到现状,一文读懂边缘计算
  20. 反激式开关电源芯片是什么?如何对反激开关电源mos管选型?

热门文章

  1. Hive(2)——使用总结
  2. 669-Server端如何感知客户端的状态
  3. 使用ffmpeg将裸码文件转成wav文件
  4. 自媒体人必备神器,200w+自媒体人都在用
  5. UNIX环境下CVS的安装与配置
  6. 【福大/计院】转专业
  7. Android10power有哪些功能,Android 功耗(10)---电流波形图(power monitor)
  8. 【Hive】Hive练习题(二)
  9. 使用jr-qrcode插件生成图片格式的二维码
  10. 软件工程专业画图工具Jude的安装与Windows找不到javaw文件的解决办法