0

私はAndroidプログラミングの初心者です。MediaPlayerアプリケーションを構築したいと思います。

実際、私は以前に簡単なMediaPlayerアプリケーションを作成しました。以前のアプリでは、ボタンを1回再生し、ボタンを1回一時停止し、ボタンを1回停止します。再生ボタンをクリックすると、曲が再生されます。

そして、私の新しいアプリケーションは、ListLayoutと、再生、一時停止、停止などのいくつかのボタンを使用して曲のリストを作成したいと考えています。曲リストの最初の曲をクリックすると、最初の曲が再生されます。

私はすでにグーグルでいくつかの研究をしていますが、私が理解できる簡単な答えが見つかりませんでした..皆さんが私を助けてくれることを願っています..どうもありがとうございました.. =)

これは私の更新されたコードです..曲のリストを呼び出す方法がわかりません..私はsong1、song2、song3をrawファイルに保存します..しかし、曲を再生するために、私は1つの曲しか再生できません..

  package com.example.test7;

  import android.media.MediaPlayer;
  import android.os.Bundle;
  import android.app.Activity;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.ArrayAdapter;
  import android.widget.ImageButton;
  import android.widget.ListView;
  import android.widget.Toast;
  import android.widget.AdapterView.OnItemClickListener;

  public class MainActivity extends Activity {

MediaPlayer mp;
int position;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mp = MediaPlayer.create(this,R.raw.song1);

    setContentView(R.layout.activity_main);

    ListView list = (ListView) findViewById(R.id.listView1);
    String[] values = new String[] {"song1","song2","song3","song4","song5",
                                    "song6","song7","song8","song9","song10"};

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, values);

    list.setAdapter(adapter);

    list.setOnItemClickListener(new OnItemClickListener () {
          public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {

            ListView list2 = (ListView) findViewById(R.id.listView1);
            String item = (String) list2.getAdapter().getItem(position);
            Toast.makeText(MainActivity.this, item + " selected", 5).show();

            mp.start();
        }
    });

    ImageButton btnPlay = (ImageButton) this.findViewById(R.id.imageButton1);
    ImageButton btnPause = (ImageButton) this.findViewById(R.id.imageButton2);
    ImageButton btnStop = (ImageButton) this.findViewById(R.id.imageButton3);

    btnPlay.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        if (mp == null) {
                mp = MediaPlayer.create(MainActivity.this, R.raw.song1);

            }
        if (!mp.isPlaying()) {
             mp.start();

           }

        }
    });

    btnPause.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (mp != null)
            {
                mp.pause();
                position = mp.getCurrentPosition();
            }

        }
    });

    btnStop.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (mp != null)
            {
                if (mp.isPlaying()) {
                    mp.stop();
                }
                mp.release();
                mp = null;
            }
        }
    });
    }
}
4

2 に答える 2

0

mp.reset(); コードに実装する必要があります。

于 2014-06-10T04:06:27.327 に答える
0

r.java に存在する曲の最終的な int 値を使用して実装できます 注: R.java ファイル内のすべての曲の最終的な int 値を確認してください。

final int[] mid = new int[] {0x7f040000,0x7f040001,0x7f040002,0x7f040003,0x7f040004,0x7f040005};
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
s=MediaPlayer.create(SimpleListViewActivity.this, mid[position]);
s.start();
}
});
于 2014-11-23T16:21:24.937 に答える