2011-01-17 3 views
1

저는 자바와 안드로이드 개발에 매우 ​​익숙하며, 내가 무엇을 찾지 못하는 것처럼 보입니다. 기본 목록이 설정되어 있으며 각 목록 항목마다 다른 제목, 설명 및 아이콘이 있습니다. 내가 원하는 것은 목록 항목을 클릭하고 사운드를 재생할 때이 사운드가 각 목록 항목마다 다를 수 있습니다.목록보기 항목을 클릭 할 때 소리를 재생하려면 어떻게해야합니까?

여기 내 코드는 지금까지의 :

import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 

import android.app.ListActivity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.SimpleAdapter; 

public class TestingList extends ListActivity { 

    private static final String ICON_KEY = "icon"; 
    private static final String TITLE_KEY = "title"; 
    private static final String DETAIL_KEY = "detail"; 

    private static final int[] ICONS = new int[] { R.drawable.lista, 
        R.drawable.listb, R.drawable.listc, R.drawable.listd }; 
    private static final String[] TITLES = new String[] { "List 1", "List 2", 
        "List 3", "List 4" }; 
    private static final String[] DETAILS = new String[] { 
        "List 1 description", 
        "List 2 description", 
        "List 3 description", 
        "List 4 description" }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>(); 
      for (int i = 0; i < ICONS.length; i++) { 
        rows.add(createListItemMap(ICONS[i], TITLES[i], 
            DETAILS[i])); 
      } 

      String[] fromKeys = new String[] { ICON_KEY, TITLE_KEY, DETAIL_KEY }; 
      int[] toIds = new int[] { R.id.icon, R.id.text1, R.id.text2 }; 
      setListAdapter(new SimpleAdapter(this, rows, 
          R.layout.icon_detail_list_item, fromKeys, toIds)); 
    } 

    public static Map<String, Object> createListItemMap(int icon, 
        CharSequence title, CharSequence detail) { 
      Map<String, Object> row = new HashMap<String, Object>(); 
      row.put(ICON_KEY, icon); 
      row.put(TITLE_KEY, title); 
      row.put(DETAIL_KEY, detail); 
      return row; 
    } 

    public static void showView(Context c) { 
      c.startActivity(new Intent(c, TestingList.class)); 
    } 
} 

도움말이 많은 감사, 감사합니다.

답변

4

Android 설명서에는 audio을 재생하는 다양한 방법이 설명되어 있습니다.

3

당신이 이미 추가해야하는 유일한 방법은 다음과 같습니다.

오디오 파일을 넣을 위치를 선택해야합니다. 응용 프로그램에 오디오 파일을 리소스로 포함 시키거나 외부 파일 저장 장치에 오디오 파일을 넣을 수있는 두 가지 옵션이 있습니다.

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 


      //Place your code here 


    } 

3.Option 하나가 자원 디렉토리에 원시 폴더를 만들고이 디렉토리에 모든 오디오를 가져, 당신은 자원 "R 등과 같은를 얻을 것이다

아래와 같이

2.Override onListItemClick 이벤트 .raw.audio1 ". 위의 이벤트에이 코드를 삽입하십시오.

 MediaPlayer mPlayer = MediaPlayer.create(this, R.raw.audio1); 
     mPlayer .start(); 

4. 외부 저장 장치에 폴더를 두 개 만들고 오디오 파일을 넣으면 환경 변수를 사용하여 경로별로 오디오 파일을 가져옵니다.

File externalStorage= Environment.getExternalStorageDirectory(); 
String path=externalStorage.getAbsolutePath() + "/your_audio_directory/adio1.mp3"; 
    MediaPlayer mPlayer = new MediaPlayer(); 
    mPlayer .setDataSource(path); 
    mPlayer .prepare(); 
    mPlayer .start(); 
  1. 즐기과 대답 덕분에
을 클릭하는 것을 잊지 마세요
관련 문제