كود جافا لصنع بيانو على الأندرويد

السلام عليكم، سأشارك معكم كود جافا لصنع بيانو في برنامج اندرويد ستوديو Android Studio  
كل ما عليك فعله هو نسخ و لصق هذا الكود مع تغيير كل ما هو مكتوب بالأحمر.
package com.blogspot.bepro_ar.piano;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;

public class Piano extends AppCompatActivity {

    private MediaPlayer ply;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_piano);


        /** keys */

        final ImageView kdo = (ImageView) this.findViewById(R.id.keydo);
        final ImageView kre = (ImageView) this.findViewById(R.id.keyre);
        final ImageView kmi = (ImageView) this.findViewById(R.id.keymi);
        final ImageView kfa = (ImageView) this.findViewById(R.id.keyfa);
        final ImageView ksol = (ImageView) this.findViewById(R.id.keysol);
        final ImageView kla = (ImageView) this.findViewById(R.id.keyla);
        final ImageView ksi = (ImageView) this.findViewById(R.id.keysi);


        /** playsounds **/

        kdo.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        kdo.setImageResource(R.drawable.key_down);  /** تغيير الصورة عند اللمس */
                        ply = MediaPlayer.create(Piano.this, R.raw.a1do); /** استدعاء صوت دو في مشغل الصوت */
                        ply.start();   /** بدأ مشغل الصوت */
                        break;
                    case MotionEvent.ACTION_UP:
                        kdo.setImageResource(R.drawable.key_up); /** تغيير الصورة عند  ترك اللمس */
                        break;
                }
                return false;
            }


        });

        kre.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        kre.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a2re); /** صوت ري */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        kre.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

        kmi.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        kmi.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a3mi);  /** صوت مي */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        kmi.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

        kfa.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        kfa.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a4fa);  /** صوت فا */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        kfa.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

        ksol.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        ksol.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a5sol);  /** صوت صول */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        ksol.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

        kla.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        kla.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a6la);  /** صوت لا */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        kla.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

        ksi.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        ksi.setImageResource(R.drawable.key_down);
                        ply = MediaPlayer.create(Piano.this, R.raw.a7si);  /** صوت سي */
                        ply.start();
                        break;
                    case MotionEvent.ACTION_UP:
                        ksi.setImageResource(R.drawable.key_up);
                        break;
                }
                return false;
            }


        });

    }
}

إشترك الان للحصول على أحدث التطبيقات والألعاب


0 commentaires:

إرسال تعليق