mediaPlayer

Ответить
leks2
Сообщения: 11
Зарегистрирован: 04 ноя 2014, 18:53

mediaPlayer

Сообщение leks2 » 04 ноя 2014, 19:11

Всем привет помогите с кодом,только с неделю начал кодить маленько и вот вопрос,Сделал код,при нажатии на картинку звучит мелодия 1,если нажимаю на Мелодия 2,то первая не останавливается и звузчит с первой в перемешку,как сделать ,чтоб если включаю вторую мелодию,первая останавливаль и еще сделать общий стоп тоесть mediaPlayer.stop();

Код: Выделить всё

import java.util.ArrayList;

import com.example.clearproj.R;
import com.example.clearproj.CatalogAdapter;
import com.example.clearproj.ListData;
import android.app.ListActivity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.widget.ListView;

import android.view.View;
 
public class MainActivity extends ListActivity {
	
	 MediaPlayer mediaPlayer;
	  AudioManager am;
	 
	 private ArrayList<ListData> catalog;
	 String[] names = { "Мелодия 1", "Мелодия 2", "Мелодия 3",
	 "Мелодия 4", "Мелодия 5", "Мелодия 6", "Мелодия 7"};
	 String[] desc = {""};
	 
	 int[] cost={R.raw.cat,R.raw.up,R.raw.up,R.raw.up,R.raw.up,R.raw.up,R.raw.up};
	 	 
	 int[] img={R.drawable.pic01,R.drawable.pic02,R.drawable.pic03,
	 R.drawable.pic04,R.drawable.pic05,R.drawable.pic06,R.drawable.card1}; 
 
	 @Override
	 public void onCreate(Bundle savedInstanceState) {
	 super.onCreate(savedInstanceState);
	 setContentView(R.layout.activity_main);
	 
	 
	 //Создаем массив объектов ListData и заполняем их данными
	 catalog = new ArrayList<ListData>();
	 for (int i = 1; i <= 7 ; i++) {
	 catalog.add(new ListData(names[i-1], cost[i-1], img[i-1],desc[1-i] ));
	 }
	 
	 //Создаем адаптер данных
	 CatalogAdapter catAdapter;
	 catAdapter = new CatalogAdapter(this, catalog);
	 setListAdapter(catAdapter);
	 } 
	 public void onListItemClick(ListView parent, View v, int position, long id){
	   switch(position){
 
               case 0:
            	 
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
                     
               case 1:
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
            	 
                       break;
               case 2:
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
            	   
                       break;
               case 3:
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
            	   
                       break;
               case 4:
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
                       break;
               case 5:
            	   mediaPlayer = MediaPlayer.create(this, R.raw.cat);
            	   mediaPlayer.start();
            	   
                       break;
                    
               case 6:
            	   mediaPlayer.stop();

                       break;   }}}
     


Аватара пользователя
Leeroy
Сообщения: 67
Зарегистрирован: 12 дек 2013, 21:25

Re: mediaPlayer

Сообщение Leeroy » 08 ноя 2014, 16:22

Добавь метод

Код: Выделить всё

 private void releaseMp() {
        if (mediaPlayer != null) {
            mediaPlayer.release();
            mediaPlayer = null;
        }
    }
И перед каждым вызовом плеера вызывай этот метод

Код: Выделить всё

......
  releaseMp();
  mediaPlayer = MediaPlayer.create(this, R.raw.cat); 
  mediaPlayer.start(); 
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте Телепрограмма

leks2
Сообщения: 11
Зарегистрирован: 04 ноя 2014, 18:53

Re: mediaPlayer

Сообщение leks2 » 14 ноя 2014, 16:58

Leeroy, спасибо дружище ,все работает!

Ответить