0

私は曲を検索し、音楽/曲を再生およびダウンロードできるアプリを開発しています。私はこの URL 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 が null で、MirrorDisplayStatus を取得できません!!! 09-21 11:26:49.674: I/MediaPlayer(6735): setLPAflag() out 09-21 11:26:58.693: E/MediaPlayer(6735): エラー (1, -2147483648) 09-21 11:26: 58.693: E/MediaPlayer(6735): エラー (1,-2147483648)

AndroidMedia Library は .mp3 形式しか再生できませんか? 上記の URL から音楽を再生できますか?どうすればできますか?

4

1 に答える 1

0

コンテキストを渡していません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();
            }
于 2013-09-21T09:46:54.807 に答える