Hallo gan :D , kembali lagi dengan penulis gagah dan berani ini hehe , kali ini saya penulis di belicode.com ingin berbagi tutorial cara dasar membuat aplikasi drum dengan android studio , nah yang kita bahas ini buka sampai menjadi aplikasi jadi yg siap publish ya gan tapi dasar dasar nya saja , nanti agan kembangin sendiri . Atau jika agan ingin membeli yang full versi silakan kunjungi : Source Code Aplikasi Drum Android Studio Suport Admob + Play MP3 + Record Audio . nah pada Tutorial Dasar Membuat Aplikasi Drum Dengan Android studio ini kita membuat dengan SoundPool pemutar audio sejenis MediaPlayer yang sudah di sediakan Android Studio sendiri .
1. Langkah pertama silakan seperti biasa kita buat new project dengan Nama : Drum Simulator
2. Langkah selanjutnya download file png yang nanti akan di gunakan pada imageview ,Â
3. Siapkan file .ogg yang ingin di gunakan pada suara drumÂ
4.Bukin folder asset dengan cara : klik kanan pada folder app->new->Folder->Asset FolderÂ
xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto"
>
android:id="@+id/bass"
android:layout_width="185.0dip"
android:layout_height="170.0dip"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:src="@drawable/snare" />
package com.belicode.drumsimulator;
import android.content.Context;
import android.content.res.AssetManager;
import android.media.SoundPool;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
ImageView imgbass;
SoundPool bass_sound;
int bass_audio;
AssetManager mAssetManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgbass = (ImageView) findViewById(R.id.bass);
MainActivity.this.bass_sound = new SoundPool(6, 3, 0);
MainActivity.this.mAssetManager = getAssets();
MainActivity.this.bass_audio = loadSound("bass.ogg");
imgbass.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int motionEvent = event.getAction() & MotionEvent.ACTION_BUTTON_PRESS;
if (motionEvent == 0 || motionEvent == 5) {
switch (v.getId()) {
case R.id.bass:
MainActivity.this.bass_sound.play(bass_audio, 1.0f, 1.0f, 1, 0, 1.0f);
break;
}
}
return true;
}
});
}
private int loadSound(String str) {
try {
return this.bass_sound.load(this.mAssetManager.openFd(str), 1);
} catch (IOException e) {
e.printStackTrace();
Context applicationContext = getApplicationContext();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Load failed ");
stringBuilder.append(str);
Toast.makeText(applicationContext, stringBuilder.toString(), Toast.LENGTH_SHORT).show();
stringBuilder = new StringBuilder();
stringBuilder.append("Load failed ");
stringBuilder.append(str);
Log.d("FAILED", stringBuilder.toString());
return -1;
}
}
}
45