迷你播放器--第一阶段(4)--内存卡检索不到音乐的错误处理--程序内部空间管理

迷你播放器--第一阶段(4)

内存卡检索不到音乐的错误处理--程序内部空间管理


本文章为CSDN作者原创,转载请保留出处:http://blog.csdn.net/lrs0304/article/details/38355633

查看项目源代码请前往:迷你播放器-综述



请注意,该项目为android项目,如果已经学习过这一节请阅读下一篇。

先上效果图(这是内存卡没有音乐的情况)


对于某些特殊情况,用户可能没有插上内存卡或者内存卡没有歌曲,那么这个播放器就相当于没用了,如果我们想它还能继续干活呢?
我们可以附带一个很小的歌曲,例如mid格式的纯音乐,在遇到上述情况的时候将音乐复制到程序目录下,然后加入到列表里面。

下面是处理的代码
		if (m_MusicFileList.size() == 0) {// 如果没有音乐
			@SuppressWarnings("deprecation")
			String temMusicPath = this.getDir("music", MODE_WORLD_READABLE)
					.toString() + "/fengyuwuzu.mid";
			try {
				InputStream is = this.getResources().openRawResource(
						R.raw.fengyuwuzu);
				File music = new File(temMusicPath);
				music.deleteOnExit();
				FileOutputStream fos = new FileOutputStream(music);
				byte[] buffer = new byte[2014];
				int count = 0;
				while ((count = is.read(buffer)) > 0) {
					fos.write(buffer, 0, count);// 不是很懂
				}
				fos.close();// 关闭流
				is.close();
				Process p;// 配置权限
				p = Runtime.getRuntime().exec("chmod 777 " + temMusicPath);
				int status = p.waitFor();
				if (status == 0) {
					System.out.println("权限配置成功");
					MusicData localMusic = new MusicData();
					localMusic.mMusicAritst = "周华健";
					localMusic.mMusicName = "风雨无阻-播放器自带";
					localMusic.mMusicPath = temMusicPath;
					localMusic.mMusicTime = 259000;// 毫秒为单位
					m_MusicFileList.add(localMusic);
				} else {
					System.out.println("权限配置失败");
					music.deleteOnExit();// 没配置成功,不要了
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

本小节源代码下载 :  http://download.csdn.net/detail/lrs0304/7730235

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值