leadstar71

مشکل در پخش آهنگ

7 ارسال در این موضوع قرار دارد

من در حال پروژه نویسی هستم که از 5 اکتیو تشکیل شده است. در اکتیو اصل 5 دکمه وجود دارد که با کلیک بر روی هر کدام به اکتیویتی دیگر انتقال می شود. و در اکتیویتی های دیگر یک دکمه ی Play ، یک دکمه ی Pause و یک SeekBar وجود دارد که من با استفاده از یک دکمه Play به محضی که بر روی آن کلیک می کنم آهنگ من پخش می شود و بر روی دکمه Pause که کلیک می کنم آهنگ به صورت موقت متوقف می شود.

من الان میخوام یک دکمه Play و یک دکمه ی Pause دیگه اضافه کنم که با استفاده از اینا یک آهنگ دیگه پخش بشه ولی من نتونستم واسه دوتا آهنگ کد نویسی کنم. لطفا منو در سطح مبتدی راهنمایی کنید نه در سطح حرفه ای . تازه کار با برنامه eclipse شروع کردم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از کلاس Mediaplayer برای پخش آهنگ استفاده می کنید؟

به راحتی با این کد می تونید یک آهنگ رو پخش کنید:

mp = MediaPlayer.create(getApplicationContext(), R.raw.AhangeShoma);	    				mp.start();

با این کد می تونید پخش آهنگ رو متوقف کنید:

mp.stop();

و برای پخش آهنگی دیگر توسط دکمه‌ای دیگر باز از کد مرحله اول استفاده کنید:

mp = MediaPlayer.create(getApplicationContext(), R.raw.AhangeDovom);	    				mp.start();

تنها نکته کلیدی اینه که شما باید شیی که از کلاستون میسازید رو به صورت عمومی (پابلیک) تعریف کنید که به طور هم زمان در تمام دکمه ها در دسترس باشد. (مثلا قبل از تابع Create)

نکته مهم دیگه قبل از تعویض آهنگ اینه که شما حتما باید آهنگ در حال پخش قبلی رو Stop کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کدی که خودم واسه پخش آهنگ ساختم اینه:

کد php:

package com.example.activity;import android.app.Activity;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;import android.widget.TextView;public class bastaki extends Activity implements OnClickListener {        SeekBar seek_bar;    Button play_button, pause_button;    MediaPlayer mediaPlayer;    TextView text_shown;    Handler seekHandler = new Handler();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.bastaki);                getInit();        seekUpdation();    }    public void getInit() {          seek_bar = (SeekBar) findViewById(R.id.seek_bar);        play_button = (Button) findViewById(R.id.play_button);        pause_button = (Button) findViewById(R.id.pause_button);        text_shown = (TextView) findViewById(R.id.text_shown);        play_button.setOnClickListener(this);        pause_button.setOnClickListener(this);        mediaPlayer = MediaPlayer.create(this, R.raw.sound1);        seek_bar.setMax(mediaPlayer.getDuration());    }    Runnable run = new Runnable() {        @Override        public void run() {            seekUpdation();        }    };    public void seekUpdation() {        seek_bar.setProgress(mediaPlayer.getCurrentPosition());        seekHandler.postDelayed(run, 1000);        seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {                        @Override            public void onStopTrackingTouch(SeekBar seek_bar) {                // TODO Auto-generated method stub                            }                        @Override            public void onStartTrackingTouch(SeekBar seek_bar) {                // TODO Auto-generated method stub                            }                        @Override            public void onProgressChanged(SeekBar seek_bar, int progress, boolean fromUser) {                if(fromUser){                     mediaPlayer.seekTo(progress);                     seek_bar.setProgress(progress);                }                            }        });    }    @Override    public void onClick(View view) {        switch (view.getId()) {        case R.id.play_button:            text_shown.setText("Playing...");            mediaPlayer.start();            break;        case R.id.pause_button:            mediaPlayer.stop();            text_shown.setText("Paused...");                    }    }        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {         if(fromUser){             mediaPlayer.seekTo(progress);             seekBar.setProgress(progress);        }    }            @Override    public void onBackPressed() {        mediaPlayer.stop();        finish();    }      } 

یعنی با استفاده از روشی که شما گفتین باید چجوری باشه؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این کد رو از پروژه تون حذف کنید:

 mediaPlayer = MediaPlayer.create(this, R.raw.sound1);

بعد مثلا جایی که قراره آهنگی رو پخش کنید اینطوری پلی کنید:

mediaPlayer.create(getApplicationContext(), R.raw.sound1);            mediaPlayer.start();

حالا مثلا اگر قراره که چند تا آهنگ پلی بشه، یه شرط میذارید و توی بدنه هر قسمت از شرط کدی مشابه و خط بالا می نویسید و با این تفاوت که اسم فایلی که قراره پلی بشه عوض میشه...

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

لطفا یکم بیشتر توضیح بدید. الان کد من که هست اونو کپی کنید و بجاش کدی که خودتون میگید واسه دوتا آهنگ رو بهش اضاف کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بر اساس کد خودم کد شما باید کجای کد خودم قرار بگیره و به چه حالتی؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چرا کسی کمک نمیکنه؟

کمک که میکنید در حد مبتدی کمک کنید لطفاً

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری