2012-01-06 2 views
0

나는 프로그래밍에 새로운 있지만 결심을 통해 미디어 URL이 내 애플 리케이션을 통해 재생할 수있는 응용 프로그램을 만드는 방법을 발견했다. 특정 노래에 대한 1 개의 특정 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(); 
} 
}; 

답변

0

다음이 응용 프로그램은 위해이 코드를 알려 주시기 바랍니다, 그것은 소리 당신이되고 싶어하지만 대신 연주 할 것입니다. 재생할 노래 목록에서 선택할 수 있습니다.

아마 다음 곡으로 배열을 만들고 ListView를 사용하여 재생할 노래를 선택할 수 있습니다. 이것이 처음 프로그래밍 될 것 같습니다. 난 당신이 몇 가지 tuturials 어떻게 목록보기가 작동하는지 보여준 다음 ArrayAdapter ListView에 바인딩 할 수 있도록 할 것을 제안합니다. ArrayAdapter는 배열을 가지고 있습니다 (배열은 하나 이상의 변수가있는 것으로 생각합니다. http://developer.android.com/reference/android/app/ListActivity.html

당신은 배열을 업데이트해야합니다 :

여기
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의 노래로 표현하는 경우 문자열 .. 여기

당신이 시작하는 몇 가지 코드입니다 유효한 URL을 곡과 함께 사용하십시오.

- 업데이트 - 나는 정확한 질문으로 혼란스러워. 정확히 무엇을하고 싶은지 잘 모르겠다. 웹 사이트 (아마도 XML 형식)에 재생 목록이 있다면 해당 XML 파일을 다운로드 한 다음 ArrayAdapter 대신 ListAdapter를 만들 수 있습니다. 실제로 이것은 실제로 당신이 노래의 이름을 보여주기를 원하므로 ID3을 파싱해야한다는 것을 의미합니다. mp3의 정보 - 상대적으로 쉽게 할 수 있지만 현재 코드가하는 것보다 훨씬 더 복잡합니다. 예를 들어 노래 목록을 재생하는 방법에 대해 약간의 아이디어를 제공해야하며 좀 더 복잡한 프로그래밍 경험으로 넘어 가기 전에 더 많은 프로그래밍 경험이 필요합니다.

+0

글쎄, 나는 이미 그곳에 배치 된 whats를 사용하여 목록보기에 익숙해졌으며 배열을 작성하고 거기에있는 각각의 노래를 나열하는 대신에 그 전화가 가능한지 궁금해했다. url 및 코드를 올바르게 getSongId(); 이미 거기에 게시 된 모든 노래를 재생 목록에서 검색하도록하십시오. 어쩌면 그것은 다음과 같을 것입니다. String url = getSongId() ""; 나는 정말로 그것을 코딩하는 방법을 모른다. 그러나 나는 당신이 내가 의미하는 것을 이해하기를 바란다. 그리고 내가 실제로 youtube에서 알고있는 것을 배웠다. 그래서 나는 그것 모두에 신선하다. – trunks85719

관련 문제