My MediaPlayer can't not stop

All your problems with Audio, Video and Images.

My MediaPlayer can't not stop

Postby dekrisdarutama » Sat Jul 16, 2011 10:38 pm

i have one problem in my project
if my project access this class, it can play audio, but if i click back, the audio continue playing
thank you :)

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. public class ViewScreen extends View implements Runnable, OnTouchListener {
  2.  
  3.         Paint background = null;
  4.         Paint text = null;
  5.         int boxX = 0;
  6.         int boxY = 0;
  7.         Bitmap bitmap = null;
  8.         ArrayList<Sprite> screenLayer = null;
  9.         Date now = null;
  10.         MediaPlayer musik = null;
  11.         int score = 0;
  12.  
  13.         public ViewScreen(Context context) {
  14.                 super(context);
  15.                 // TODO Auto-generated constructor stub
  16.  
  17.                 now = new Date();
  18.                 bitmap = BitmapFactory.decodeResource(getContext().getResources(),R.drawable.circle);
  19.                 this.setOnTouchListener(this);
  20.                 screenLayer = new ArrayList<Sprite>();
  21.                 background = new Paint();
  22.                 text = new Paint();
  23.                 musik = MediaPlayer.create(context, R.raw.fa); 
  24.         }
  25.        
  26.         protected void onDraw(Canvas canvas) {
  27.                 background.setColor(Color.BLACK);
  28.                 canvas.drawRect(0, 0, getWidth(), getHeight(), background);
  29.                 canvas.drawText(now.getTime() + "", 1000, 10, text);
  30.                 TextView textscore = (TextView)findViewById(R.id.score);
  31.                
  32.                 try {
  33.                         for (Sprite sl : screenLayer) {
  34.                                 if (sl.getType() == 1) {
  35.                                         canvas.drawText(sl.getMessage(), sl.getItsX(),
  36.                                                         sl.getItsY(), text);
  37.                                         textscore.setText("Score "+score);
  38.                                 } else {
  39.                                         canvas.drawBitmap(sl.getBitmap(), sl.getItsX(), sl.getItsY(), text);
  40.                                 }
  41.                         }
  42.                 } catch (Exception e) {
  43.                 }
  44.         }
  45.  
  46.         public void start()  {
  47.                 Thread th = new Thread(this);
  48.                 th.start();
  49.                 musik.start();
  50.         }
  51.  
  52.         public void run() {
  53.                 // TODO Auto-generated method stub
  54.                 try {
  55.                         while (true) {
  56.                                 Thread.sleep(1000 / 20);
  57.  
  58.                                 if ((int) (Math.random() * 1000) % 100 == 0) {
  59.                                         screenLayer.add(new Sprite(bitmap));
  60.                                 }
  61.  
  62.                                 ArrayList<Sprite> toRemove = new ArrayList<Sprite>();
  63.                                 ArrayList<Sprite> toAdd = new ArrayList<Sprite>();
  64.  
  65.                                 for (Sprite sl : screenLayer) {
  66.                                         // Cek out of boundary
  67.                                         if (sl.getItsY() < 0) {
  68.                                                 toRemove.add(sl);
  69.                                         }
  70.  
  71.                         if (sl.getItsX() < boxX && sl.getItsX() + 48 > boxX && sl.getItsY() < boxY && sl.getItsY() + 33 > boxY) {
  72.  
  73.                                                 toRemove.add(sl);
  74.                                         }
  75.                                 }
  76.  
  77.                                 for (Sprite tr : toRemove) {
  78.                                         screenLayer.remove(tr);
  79.                                         tr.stop();
  80.                                         tr = null;
  81.                                 }
  82.                                 toRemove = null;
  83.  
  84.                                 for (Sprite tr : toAdd) {
  85.                                         screenLayer.add(tr);
  86.                                 }
  87.                                 toAdd = null;
  88.  
  89.                                 boxX = -1;
  90.                                 boxY = -1;
  91.  
  92.                                 postInvalidate();
  93.                         }
  94.                 } catch (InterruptedException e) {
  95.                         // TODO Auto-generated catch block
  96.                         e.printStackTrace();                   
  97.                 }
  98.         }
  99.  
  100.         public boolean onTouch(View v, MotionEvent event) {
  101.                
  102.                 if (event.getAction() == MotionEvent.ACTION_DOWN) {
  103.                         Toast.makeText(getContext(), "text " +score, Toast.LENGTH_SHORT).show();
  104.                         score = score + 1;
  105.                         boxX = (int) event.getX();
  106.                         boxY = (int) event.getY();
  107.                 }
  108.                 return true;
  109.         }
  110.  
  111.         public void onDestroy(){
  112.                 musik.stop();
  113.                 musik.release();
  114.         }
  115. }
  116.  
Parsed in 0.042 seconds, using GeSHi 1.0.8.4
User avatar
dekrisdarutama
Freshman
Freshman
 
Posts: 5
Joined: Wed Oct 13, 2010 12:33 pm

Top

Return to Multimedia Problems

Who is online

Users browsing this forum: No registered users and 10 guests