2012-01-06 48 views
0

中通过我对编程非常陌生,但通过确定已经找到了一种方法来创建一个允许通过我的应用程序播放媒体url的应用程序问题是我试图让它如此它开放给那个特定的歌曲更多的1个特定的网址我试图做到这一点,以便已经在网站上设置的播放列表可以通过这个播放器选择,如果任何人要帮助我学习和或花时间工作我通过电子邮件或短信,请让我知道我的代码至今为这个应用程序是如下在eclipse中如何让一个打开的url在

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 

String url = "http://beatswith.us/uploads/Mac%20Miller%20-%20Paper%20Route%20feat.%20Kev%20Da%20Hustla.mp3"; // your URL here 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
try { 
    mediaPlayer.setDataSource(url); 

} catch (IllegalArgumentException 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(); 
} 
try { 
    mediaPlayer.prepare(); 
} catch (IllegalStateException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} // might take long! (for buffering, etc) 
mediaPlayer.start(); 
} 
}; 

回答

0

所以,如果我在读你的问题的权利,这听起来像你现在刚一首歌你的应用程序将发挥,而是你想成为能够从要播放的歌曲列表中选择..

您可能想要做的下一步是创建一个歌曲数组,然后使用ListView允许用户选择他们想要播放的歌曲。看起来这可能是你第一次编程。我建议你查看一下列表视图是如何工作的,然后让ArrayAdapter绑定到你的ListView .. ArrayAdapter有一个数组(把数组看作是一个变量,它有一个以上的东西,在你的案例字符串代表URL的歌曲..

下面是一些代码,让你开始:

public class SongListActivity extends ListActivity { 
    static final String[] songList = new String[] { 
     "http://beatswith.us/uploads/Mac%20Miller%20-%20Paper%20Route%20feat.%20Kev%20Da%20Hustla.mp3", 
     "http://beatswith.us/another1.mp3", 
     "http://beatswith.us/another2.mp3" 
    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    ArrayAdapter songAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songList); 
    setListAdapter(songAdapter); 



    } 

    @Override 
    protected void onListItemClick(ListView lv, View v,int pos, long id) { 
     String url = (String) lv.getAdapter().getItem(pos); 
     playSong(url); 

    } 


    private void playSong(String url) { 
     MediaPlayer mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     try { 
     mediaPlayer.setDataSource(url); 
     mediaPlayer.start(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 
} 

这里是更多的文档,应该帮助: http://developer.android.com/reference/android/app/ListActivity.html

您将需要更新数组具有有效的URL到歌曲。

- 更新 - 我有点困惑仍然是由确切的问题..我不知道你到底想要做什么..如果有一个网站上的播放列表(也许在xml格式)你可以下载该XML文件,然后制作一个ListAdapter,而不是一个ArrayAdapter ..我的意思是这实际上变得更加复杂,因为实际上,您可能想要显示歌曲的名称,这意味着您需要解析ID3来自mp3的信息 - 这是相对容易做到的,但它肯定比你当前的代码更加复杂。我的例子应该给你一些关于如何播放歌曲列表的想法,并且应该让你在继续进行更复杂的事情之前,您可以获得更多的编程经验

+0

嗯,我很欣赏它,但我已经熟悉列表视图使用什么已经放在那里,所以而不是创建一个数组,并列出每一首歌,我想知道如果它可能得到一个呼叫1单网址,如果我理解代码正确使用像getSongId();并有任何歌曲已经发布在那里播放列表retrived。所以也许它会像这样String url = getSongId()“”;我真的不知道如何编码,但我希望你明白我的意思,是的,我实际上了解到我从YouTube上知道什么,所以我很新鲜 – trunks85719 2012-01-06 19:21:46