android MediaPlayer播放在线(外部)音频

时间:2014-04-13 09:33:42

标签: android audio mp3 android-mediaplayer

当我点击按钮时,我使用此代码播放在线mp3音频,但它不起作用。

public void play(View v) throws IllegalStateException, IOException{ 
    MediaPlayer em2 =MediaPlayer.create(this, Uri.parse("https://ia801005.us.archive.org/22/items/sslamweb.blogspot.com_201308/Maher%20Zain%20-%20Hold%20My%20Hand%20-%20Official%20Lyrics%20Video.mp3"));
    em2.setAudioStreamType(AudioManager.STREAM_MUSIC);  
    em2.prepare();
    em2.start();        
}

2 个答案:

答案 0 :(得分:0)

您正在使用MediaPlayer创建create,已为您调用prepare。请勿再次致电prepare

public void play(View v) throws IllegalStateException, IOException{ 
    MediaPlayer em2 = MediaPlayer.create(this, Uri.parse("https://ia801005.us.archive.org/22/items/sslamweb.blogspot.com_201308/Maher%20Zain%20-%20Hold%20My%20Hand%20-%20Official%20Lyrics%20Video.mp3"));
    em2.setAudioStreamType(AudioManager.STREAM_MUSIC);
    em2.start();        
}

将来,查看错误的logcat输出会有所帮助。

答案 1 :(得分:0)

导入android.media.AudioManager;

android.media.MediaPlayer mediaplayer;
                        mediaplayer = new android.media.MediaPlayer();
                        mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                        try {

                            mediaplayer.setDataSource("https://ia801005.us.archive.org/22/items/sslamweb.blogspot.com_201308/Maher%20Zain%20-%20Hold%20My%20Hand%20-%20Official%20Lyrics%20Video.mp3");
                            mediaplayer.prepare();
                        } 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();
                        }

                        mediaplayer.start();

享受.......