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

代码如下:

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<String> songArrayList; //播放声音列表
    @Overrideprotected 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<String>();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{@Overridepublic 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();}}@Overrideprotected void onDestroy() {mediaPlayer.release();mediaPlayer = null;super.onDestroy();}
}

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

  1. android 自动下一首,Android播播放完SD卡指定文件夹音乐之后,自动播放下一首

    最近做一个项目,需要连续播放音乐,播放完一首歌之后,自动播放完下一首歌.不要重复播放. 代码如下: package com.example.asyncplayer_ex; import java.io ...

  2. 保存彩信图片到sd卡指定文件夹中

    1.在SmsDetailLeftRow.java文件中找到setOnClickListener()方法,向其中添加长按事件: private void setOnClickListener(final ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 「SAP技术」SAP MM 批次管理的物料创建DN时无存储地点就不能输入批次值?
  2. ARM7+PROTEUS调试(转)
  3. Linux二十年产权官司告终:IBM赔偿近亿元,期间“熬死”一位起诉方
  4. CodeForces - 1311F Moving Points(线段树+离散化)
  5. angular中的href=unsafe:我该怎么摆脱你的溺爱!!
  6. python--编码问题
  7. 95-860-040-源码-定时器-SystemProcessingTimeService简介
  8. Delphi实现带有格式的Excel导出功能
  9. 一起来梳理JVM知识点
  10. linux 锐捷客户端登录密码,Linux使用经验_使用锐捷客户端登录校园网
  11. 捻花成佛:成为股市高手需要读多少书
  12. 获取京东JDCookie
  13. 必看!前辈们总结出的程序员找工作遇到的坑
  14. 如何将微服务应用设计为四层结构:平台层/服务层/边界层/客户端层
  15. 实时传输协议:RTP、RTCP、RTSP介绍
  16. Altium DesignerV21.4下载链接备份
  17. [Spring] [最佳实践] 如何对 @Async 标记的异步方法进行单元测试
  18. android加载本地图库,Android读取本地图库与调用摄像头拍摄
  19. 活动回顾 谷露招聘沙龙VOL.6 解锁校招人才获取新玩法
  20. [游泳] 游泳前的热身准备

热门文章

  1. css3实现进度条的模拟
  2. Silverlight中的ControlTemplate
  3. web.config学习资料
  4. linux中最常用命令
  5. 創建ASP組件修改《SERV-U》FTP 的密碼
  6. BUAA_OO_第一次作业总结
  7. 查看windows下指定的端口是否开放
  8. IPhone开发从零开始之1-构思你的产品
  9. 获取listview当前滚动的高度
  10. ini_set和require使用