Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在eclipse中,如何传入打开的url_Android_Url_Media Player - Fatal编程技术网

Android 在eclipse中,如何传入打开的url

Android 在eclipse中,如何传入打开的url,android,url,media-player,Android,Url,Media Player,我对编程非常陌生,但通过确定,我已经找到了一种方法来制作一个应用程序,允许通过我的应用程序播放媒体url。问题是,我正在尝试制作一个应用程序,使其对我尝试制作的特定歌曲的多个特定url开放,以便可以通过该应用程序选择网站上已设置的播放列表玩家如果有人想帮助我学习,或者花时间通过电子邮件或消息与我一起工作,请让我知道目前为止我为这个应用程序编写的代码如下 @Override protected void onCreate(Bundle savedInstanceState) { /

我对编程非常陌生,但通过确定,我已经找到了一种方法来制作一个应用程序,允许通过我的应用程序播放媒体url。问题是,我正在尝试制作一个应用程序,使其对我尝试制作的特定歌曲的多个特定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();
}
};

因此,如果我没有看错你的问题,听起来你的应用程序目前只播放一首歌曲,但你希望能够从歌曲列表中选择要播放的歌曲

下一步可能需要做的是创建一组歌曲,然后使用ListView允许用户选择他们想要播放的歌曲。看起来这可能是你第一次编程。我建议您查找一些教程,说明列表视图是如何工作的,然后制作一个ArrayAdapter绑定到您的列表视图。。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();
      } 
    }
}
以下是更多有帮助的文档:

您需要使用歌曲的有效URL更新数组

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

我真的很感激,但是我已经熟悉了列表视图,它使用的是已经放置在其中的内容,所以我不想创建一个数组并在其中列出每首歌曲,而是想知道是否有可能调用一个url,如果我正确理解代码,请使用getSongId之类的东西;并有任何歌曲,已经张贴在那里的播放列表检索。所以可能是这样的字符串url=getSongId;我真的不知道如何编码,但我希望你明白我的意思,是的,我从youtube上学到了我所知道的,所以我对这一切都很新鲜