2013-03-08 2 views
0

Я новичок в Android-программировании. Я хочу создать приложение MediaPlayer.Как играть песню, нажав на списки песен

На самом деле, я уже создал простое приложение MediaPlayer раньше. В предыдущем приложении есть только одна игра с кнопками, пауза в одной кнопке и остановка одной кнопки. При нажатии на кнопку воспроизведения будет воспроизводиться песня.

И мое новое приложение хочет сделать список песен, используя ListLayout, и несколько кнопок, таких как воспроизведение, пауза и остановка. что я хочу, когда я нажимаю первую песню в списках песни, первая песня будет воспроизводиться.

Я уже некоторое исследование в google, но не нашел простой ответ, который я могу понять. Надеюсь, вы, ребята, можете помогите мне .. Спасибо за лоты .. =)

Это мой ОБНОВЛЕНО код..Я не знаю, как назвать списки песен..и храню мою песню1, song2, song3 в необработанном файле .. но для воспроизведения песни, я просто могу играть только одну песню.

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; 
      } 
     } 
    }); 
    } 
} 
+0

Вы можете показать нам свои коды? – Raptor

+0

Этот вопрос кажется слишком расплывчатым, чтобы получить полезные ответы. –

+0

Я уже размещаю свой код..Надеюсь, я не знаю, как назвать список песен .. и где я должен хранить списки песен..и можно играть только одну песню, но не другую песню. – paehmods

ответ

0

mp.reset(); необходимо реализовать в коде.

0

U может реализовать его, используя окончательную ценность int песни, которая будет присутствовать в r.java Примечание: проверить окончательную стоимость всей песни в файле R.java.

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(); 
} 
}); 
Смежные вопросы