السلام عليكم، سأشارك معكم كود جافا لصنع بيانو في برنامج اندرويد ستوديو 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:
إرسال تعليق