我正在开发的应用程序,搜索歌曲,并能够播放和下载音乐/歌曲。我使用这个网址http://tinysong.com/Phdj,这是重定向到音乐网页,并在那里播放歌曲。我使用下面的代码来播放歌曲。
//play music
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try{
mMediaPlayer.setDataSource("http://tinysong.com/Phdj");
mMediaPlayer.prepareAsync();
}catch(IOException e){
e.printStackTrace();
}
catch (IllegalArgumentException e){
e.printStackTrace();
}catch (IllegalStateException e){
e.printStackTrace();
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mp.start();
}
});错误: 09-21 11:26:49.674: I/MediaPlayer(6735):setLPAflag() in 09-21 11:26:49.674: I/MediaPlayer(6735):mContext为空,无法getMirrorDisplayStatus!!09-21 11:26:49.674: I/MediaPlayer(6735):setLPAflag() out 09-21 11:26:58.693: E/MediaPlayer(6735):error (1,-2147483648) 09-21 11:26:58.693: E/MediaPlayer(6735):Error (1,-2147483648)
AndroidMedia库是否仅播放.mp3格式?我能从上面的Url播放音乐吗?我该怎么做?
发布于 2013-09-21 17:46:55
您尚未传递setDataSource()中的上下文
尝尝这个
String path="http://tinysong.com/Phdj";
Uri myUri = Uri.parse(path);
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(this, myUri);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
// TODO Auto-generated method stub
}
});
mp.prepareAsync();
} 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();
}https://stackoverflow.com/questions/18929511
复制相似问题