class StartClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
if (!isPlay)
{
String mp3Path = getMp3Path(mp3Info);
// mediaPlayer = MediaPlayer.create(PlayMp3Activity.this,Uri.parse("file://" + mp3Path));
mediaPlayer = new MediaPlayer();
try{
mediaPlayer.setDataSource(PlayMp3Activity.this, Uri.parse("file://" + mp3Path));
mediaPlayer.prepare();
mediaPlayer.start();
isPlay = true;
isStop = false;
isPause = false;
}catch(Exception e){
e.printStackTrace();
}
}
}
} 1. 如果用mediaPlayer = MediaPlayer.create(PlayMp3Activity.this,Uri.parse("file://" + mp3Path))方式得到一个空的mediaPlayer对象,不知道为什么? 2. mediaPlayer = new MediaPlayer();
这种方式能播放MP3文件,但是在中途突然停止了。 log:
bufferCount (4) is too small and increased to 12
write blocked for 83 msecs, 1627 delayed writes, thread 0xb3f0
....
....
write blocked for 83 msecs, 1627 delayed writes, thread 0xb3f0
]error (1, -2147483648)
]Error (1, -2147483648)望那个兄台解读下。。
不甚感激。
{
@Override
public void onClick(View v)
{
if (!isPlay)
{
String mp3Path = getMp3Path(mp3Info);
// mediaPlayer = MediaPlayer.create(PlayMp3Activity.this,Uri.parse("file://" + mp3Path));
mediaPlayer = new MediaPlayer();
try{
mediaPlayer.setDataSource(PlayMp3Activity.this, Uri.parse("file://" + mp3Path));
mediaPlayer.prepare();
mediaPlayer.start();
isPlay = true;
isStop = false;
isPause = false;
}catch(Exception e){
e.printStackTrace();
}
}
}
} 1. 如果用mediaPlayer = MediaPlayer.create(PlayMp3Activity.this,Uri.parse("file://" + mp3Path))方式得到一个空的mediaPlayer对象,不知道为什么? 2. mediaPlayer = new MediaPlayer();
这种方式能播放MP3文件,但是在中途突然停止了。 log:
bufferCount (4) is too small and increased to 12
write blocked for 83 msecs, 1627 delayed writes, thread 0xb3f0
....
....
write blocked for 83 msecs, 1627 delayed writes, thread 0xb3f0
]error (1, -2147483648)
]Error (1, -2147483648)望那个兄台解读下。。
不甚感激。
mediaPlayer.reset();
另外,新开辟一个线程来播放,防止阻塞主线程