使用MediaPlayer时要注意添加权限
所属栏目:
Android
时间:2011-11-25 13:37
作者:狼子
有好多例子,书上有,网上有,就是都没有提到要添加权限,在读取音乐文件的时候,为了同步输入输出,是需要写的权限的
<uses-sdk android:minSdkVersion="8">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
后面两句就是添加写的权限
记录两个帖子:
http://stackoverflow.com/questions/7279571/mp3extractor34-unable-to-resync-signalling-end-of-stream/
Unable to resync. Signalling end of stream
http://stackoverflow.com/questions/7422374/warn-audioflinger33-write-blocked-for-76-msecs-7773-delayed-writes-thread-0/
write blocked for 76 msecs, 7773 delayed writes
第1个帖子的是有错误要解决,第2个帖子的是警告要排除,两个测试的结果都是因为没有添加权限
下面是我的测试代码:
private MediaPlayer bgMusic = null;
public Boolean playMusic(Context myContext) {
bgMusic = new MediaPlayer();
bgMusic = MediaPlayer.create(myContext, R.raw.music);
bgMusic.setLooping(true);
try {
if (bgMusic != null) {
bgMusic.stop();
}
bgMusic.prepare();
bgMusic.start();
return true;
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
private void stopMusic() {
try {
if (bgMusic != null && bgMusic.isPlaying() == true) {
bgMusic.stop();
}
} catch (IllegalStateException e) {
e.printStackTrace();
}
}