آموزش ساخت یک برنامه اندروید، شامل دو دکمه، برای پخش یا توقف پخش یک موسیقی
در مبحثی دیگر، گفتیم که توسط چه کدهایی می توان یک موسیقی را در برنامه اندروید پخش کرد. اکنون می خواهیم یک برنامه اندروید بسازیم که دارای دو دکمه باشد، یک دکمه برای پخش موسیقی و دیگری برای توقف پخش موسیقی. بنابراین کاربر می تواند کنترل کند که آیا موسیقی پخش بشود یا خیر.
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com_Music می سازیم (نام package را برابر com.kelidestan.music انتخاب می کنیم. نام activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم برابر activity_main قرار می دهیم).
ابتدا باید فایل strings.xml از پروژه اندروید را باز کنیم :

کدهای آن، در ابتدا به صورت زیر می باشد :
<resources>
<string name="app_name">Kelidestan.com_Music</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
ما دو رشته (string) دیگر نیز در آن تعریف می کنیم :
<resources>
<string name="app_name">Kelidestan.com_Music</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="music_play">پخش موسیقی</string>
<string name="music_stop">توقف پخش موسیقی</string>
</resources>
این دو رشته، عنوان هایی هستند که بر روی دو دکمه، نمایش داده خواهند شد.
سپس فایل activity_main.xml از پروژه اندروید را باز می کنیم :

کدهای آن را به صورت زیر تغییر می دهیم (تعریف دو دکمه مورد نیازمان) :
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/music_play" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/music_stop" />
</LinearLayout>
ظاهر گرافیکی activity_main.xml به صورت زیر خواهد بود (به هم ریختگی حروف فارسی، مهم نیست) :

فایل موسیقی مورد نظرمان، دارای نام music.mp3 می باشد. می توانید آن را از لینک زیر دانلود کنید :
یک فولدر با نام raw ، به صورت زیر فولدر برای فولدر res می سازیم و سپس فایل music.mp3 را در آن کپی می کنیم :

اکنون باید کدهای مربوط به نحوه عملکرد دو دکمه را درون فایل MainActivity.java بنویسیم. بنابراین فایل MainActivity.java را باز می کنیم :

فایل MainActivity.java ، در ابتدا دارای کدهای زیر می باشد :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
کدهای آن را به صورت زیر تغییر می دهیم :
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
public MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b_1 = (Button) findViewById(R.id.button1);
b_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
player = MediaPlayer.create(MainActivity.this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(100,100);
player.start();
}
});
Button b_2 = (Button) findViewById(R.id.button2);
b_2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
player.stop();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
اکنون پروژه اندروید، کامل شده است و می توانید آن را به روش دلخواه خود، تست کنید.
من برنامه را تبدیل به فایل apk کرده و بر روی یک گوشی نصب می کنم. ظاهر آن به صورت زیر می باشد :

با اشاره بر روی گزینه ((پخش موسیقی))، موسیقی پخش شده و با اشاره به گزینه ((توقف پخش موسیقی))، پخش موسیقی متوقف خواهد شد.
فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :


سلام من تو یکی از اکتویتی هام موسیقی گزاشتم با دکمه پخش توقف منتها وقتی که داخل اکتویتی هستم درسته هم پخش میکنه هم متوقف ولی وقتی پخش میکنی میری صفحه دیگه بر میگردی دیگه توقف کار نمیکنه پخش هم بزنی دوباره از اول پخش میکنه در هالی که موسقی قبلی هنوز در حاله پخشه واستوپ نمیشه چیکار بید کنم درست بشه؟؟؟؟؟ خیلی منظرم لطفا" راهنمایی کنید