В затмении, как открыть открытый URL в - PullRequest
0 голосов
/ 06 января 2012

Я очень новичок в программировании, но благодаря определению нашел способ создать приложение, позволяющее воспроизводить медиа-URL через мое приложение, проблема в том, что я пытаюсь сделать так, чтобы он был открыт для более чем 1 конкретного 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();
}
};

1 Ответ

0 голосов
/ 06 января 2012

Так что, если я правильно читаю ваш вопрос, звучит так, как будто у вас в данный момент есть только одна песня, которую будет воспроизводить ваше приложение, но вместо этого вы захотите выбрать из списка песен для воспроизведения ..

Что вы, вероятно, хотели бы сделать в качестве следующего шага, это создать массив песен, а затем использовать ListView, чтобы позволить пользователю выбрать, какую песню он хочет воспроизвести. Похоже, это может быть ваш первый раз программирования. Я предлагаю вам взглянуть на некоторые tuturials, показывающие, как работает представление списка, а затем создать ArrayAdapter для привязки к вашему ListView. ArrayAdapter имеет массив (представьте, что массив - это переменная, которая содержит более 1 вещи в вашем case Строки, которые представляют 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 - что относительно это легко сделать, но это определенно намного сложнее, чем то, что делает ваш текущий код. Мой пример должен дать вам представление о том, как воспроизвести список песен, и получить немного больше опыта программирования, прежде чем вы перейдете к более сложные вещи.

...