2011-01-17 13 views
1

私はJavaとAndroidの開発にはとても新しいので、私が何をしているのか分からないようです。私は基本的なリストが設定されている、各リスト項目は、異なるタイトル、説明、およびアイコンを持っています。私が好きなのは、リストアイテムをクリックしたとき、サウンドが再生されたとき、このサウンドはリストアイテムごとに異なるということです。リストビューアイテムをクリックしてサウンドを再生するにはどうすればよいですか?

ここに私のコードは、これまでのところです:

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

あなたがすでに追加しなければならないのは、次のようなものです。

1.再生するオーディオファイルの場所を選択する必要があります。 アプリケーションにオーディオファイルを埋め込み、リソースとして という2つのオプションがあります。また、外部ファイルストレージにオーディオファイルを置くこともできます。

2.Override onListItemClickイベント

@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 1の下に示すように、あなたのリソースディレクトリに生のフォルダを作成し、このディレクトリにすべてのオーディオをインポートし、そしてあなたは、R」のようなリソースとして取得します.raw.audio1 "となります。このコードを上記のイベントに配置します。

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

4.外部ストレージに2つのフォルダを作成して、オーディオファイルを置くと、環境変数を使用してオーディオファイルをパスで取得します。

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. はお楽しみ、と答えたおかげ
をクリックすることを忘れないでください
関連する問題