مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
۱۳۹۳/۰۹/۲۱, ۰۱:۱۲ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۱, ۰۲:۲۶ ب.ظ توسط admin.)
با سلام
یک مشکل عجیب واسه من پیش اومده، کسی می تونه راهنمایی کنه؟
من 50 تا اکتیویتی دارم که تو هر کدوم سه تا button هست. یکی برای رفتن به اکتیویتی بعدی ، یکی برای پخش موسیقی (که میزان پیشرفت هم روی seekbar مشخص میشه) و یکی هم برای توقف موسیقی. و زمان موسیقی ها هم کوتاه هستش
مشکل من اینه که وقتی 30 تا از موسیقی ها رو گوش می کنم( چه چند ثانیه چه تا آخر) دیگه با کلیلک روی دکمه پخش دیگه تو هیچ کدوم از اکتیویتی ها موسیقی پخش نمیشه، حتی اگه برنامه رو ببندم و دوباره باز کنم. و برای درست شدن باید حتما برنامه رو دوباره نصب کنم که بعد از نصب دوباره هم بیشتر از 30 تا موسیقی را نمیشه گوش داد
اینم اضافه کنم که فرقی نمیکنه که تو کدوم صفحات به موسیقی گوش دادی. مثلا من تو اکتیویتی 1 موسیقی رو پخش می کنم . بعد تو 3 و بعد 7 و بعد 50 و بعد 31 و... و وقتی که تعداد موسیقی هایی که گوش کردی( چه تا آخر موسیقی و چه فقط چند ثانیه اش) به 30 تا برسه دیگه دکمه های پخش کار نمیکنه و هیچ چیزی پخش نمیشه و seekbar هم هیچ پیشرفتی نداره. ولی میتونی به اکتیویتی بعدی و قبلی رفت.فقط نمیدونم چرا دیگه موسیقی پخش نمیکنه
کسی می دونه دلیلش چیه؟؟؟
با تشکر
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۳/۰۹/۲۱, ۰۲:۳۱ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۱, ۰۲:۳۶ ب.ظ توسط admin.)
سلام.
برای توقف MediaPlayer ، روش release را هم به کار ببرید (هر وقت که دیگر با MediaPlayer کاری نداشتید، از روش release استفاده کنید). یعنی کد زیر :
کد پیاچپی: mediaPlayer.stop(); mediaPlayer.release();
همچنین تعیین کنید که اگر pause شده، هنگام خروج از Activity ، کد بالا اجرا شود (یعنی یک سری کد برای روش های onPause و onStop از Activity بنویسید). در این مورد، کلید زیر را بخوانید :
کلید شماره 2802
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
۱۳۹۳/۰۹/۲۲, ۰۱:۰۹ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۲, ۰۱:۱۴ ق.ظ توسط admin.)
با سلام
مشکلم حل نشد. فقط تونستم کاری کنم که از این اکتیویتی به اون اکتیویتی که رفتم موزیک قطع بشه. ولی همچنان 30 بار که موزیک پخش بشه( مثلا از تو اکتیویتی یک موزیک رو پخش کردم بعد رفتم به اکتیویتی 2 و اونجا موزیک رو پخش کردم و 30 بار این کارو که انجام میدم ) دیگه نمیشه هیچ موزیکی پخش کرد( مگه اینکه گوشی رو خاموش و روشن کنم یا برنامه رو دوباره نصب کنم. انگار پخش 30 باره ی موسیقی حافظه رو پر میکنه. از تمام دستورات تو جاهای مختلف اکتیویتی استفاده کردم ولی نشد که نشد. بعد از اینکه حافظه پر میشه تو برنامه های دیگه ای هم که موزیک توش باشه،موزیک رو پخش نمیکنه.
لطفا یکی کمک کنه. اگه جواب نگیرم نتیجه ی 1 ماه تلاشم دود شده رفته هوا
کد: package com.ali.music;
import android.app.Activity;
import android.content.Intent;
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;
public class Music1 extends Activity implements OnClickListener {
SeekBar seek_bar;
Button play_button, pause_button;
MediaPlayer mediaPlayer;
Handler seekHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.music1);
Button btn_1=(Button) findViewById(R.id.next);
btn_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent next= new Intent(Music1.this, Music2.class );
next.putExtra("btn",100);
startActivity(next);
mediaPlayer.stop();
finish();
}
});
getInit();
seekUpdation();
}
public void getInit() {
seek_bar = (SeekBar) findViewById(R.id.seekBar1);
play_button = (Button) findViewById(R.id.m1);
pause_button = (Button) findViewById(R.id.pause);
play_button.setOnClickListener(this);
pause_button.setOnClickListener(this);
mediaPlayer = MediaPlayer.create(this, R.raw.s1);
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.m1:
mediaPlayer.start();
break;
case R.id.pause:
mediaPlayer.pause();
}
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
mediaPlayer.seekTo(progress);
seekBar.setProgress(progress);
}
}
@Override
public void onBackPressed() {
mediaPlayer.stop();
finish();
}
}
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
یعنی از روش release استفاده کردید ولی درست نشد ؟
من توی کدهایی که اینجا قرار دادید، روش release رو نمی بینم.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
این کدها بدون اون روش هاست
ولی این کدی که شما میگید رو برای دکمه ی next قرار دادم( زیر ()mediaplayer.sotp ولی وفتی رو دیکه next میزدم به اکتیویتی بعدی نمیرفت و خطا میداد.
به نظرمم من باید کاری کنم که وقتی از این اکتیویتی به اکتیویتی بعدی رفتم،اکتیویتی قبلی اطلاعاتش نابود بشه تا تو حافظه ذخیره نشه. ولی نمیدونم باید چیکار کنم که نابود بشه
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
۱۳۹۳/۰۹/۲۲, ۰۲:۱۱ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۲, ۰۲:۲۴ ب.ظ توسط admin.)
(۱۳۹۳/۰۹/۲۲, ۰۱:۲۲ ق.ظ)'admin' نوشته: یعنی از روش release استفاده کردید ولی درست نشد ؟
من توی کدهایی که اینجا قرار دادید، روش release رو نمی بینم.
یک نفر این لینک رو برام فرستاد. می تونه مشکل از این باشه؟
http://stackoverflow.com/questions/12102...in-android
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۳/۰۹/۲۲, ۰۲:۳۳ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۲, ۰۲:۳۵ ب.ظ توسط admin.)
(۱۳۹۳/۰۹/۲۲, ۰۲:۱۱ ب.ظ)'alizzz' نوشته: یک نفر این لینک رو برام فرستاد. می تونه مشکل از این باشه؟
http://stackoverflow.com/questions/12102...in-android
نه از نظر تعداد Activity ، محدودیتی وجود ندارد و مشکل شما از آن نیست. اگر حافظه کم بیاید، خود گوشی، Activity هایی که در پس زمینه (background) هستند را destroy می کند تا حافظه خالی ایجاد شود.
همان release را باید به گونه ای به کار ببرید که باعث force close نشود (تا آنجایی که من می دانم، باید با استفاده از release ، مشکل حل شود). این دفعه، finish را بلافاصله بعد از آن قرار ندهید، بلکه finish را در روش onPause برای Activity بنویسید. یعنی ابتدا release می شود، سپس که در حال رفتن به Activity بعدی است، چون Activity فعلی به حالت pause یا stop می رود، بنابراین اگر روش onPause را برای Activity بنویسیم، کد finish نوشته شده در آن، اجرا خواهد شد.
در این مورد، کلید زیر را بخوانید (برای نوشتن روش onPause برای Activity) :
کلید شماره 2802
یادتون نره که برای تمام مواردی که stop به کار رفته، release را هم به کار ببرید (فقط آن مورد دارای finish بود که باید ملاحظاتی برایش در نظر گرفته می شد).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
۱۳۹۳/۰۹/۲۲, ۰۲:۳۶ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۲, ۰۴:۱۰ ب.ظ توسط admin.)
(۱۳۹۳/۰۹/۲۲, ۰۲:۳۳ ب.ظ)'admin' نوشته: (۱۳۹۳/۰۹/۲۲, ۰۲:۱۱ ب.ظ)'alizzz' نوشته: یک نفر این لینک رو برام فرستاد. می تونه مشکل از این باشه؟
http://stackoverflow.com/questions/12102...in-android
نه از نظر تعداد Activity ، محدودیتی وجود ندارد و مشکل شما از آن نیست. اگر حافظه کم بیاید، خود گوشی، Activity هایی که در پس زمینه (background) هستند را destroy می کند تا حافظه خالی ایجاد شود.
همان release را باید به گونه ای به کار ببرید که باعث force close نشود (تا آنجایی که من می دانم، باید با استفاده از release ، مشکل حل شود). این دفعه، finish را بلافاصله بعد از آن قرار ندهید، بلکه finish را در روش onPause برای Activity بنویسید. یعنی ابتدا release می شود، سپس که در حال رفتن به Activity بعدی است، چون Activity فعلی به حالت pause یا stop می رود، بنابراین اگر روش onPause را برای Activity بنویسیم، کد finish نوشته شده در آن، اجرا خواهد شد. در این مورد، کلید زیر را بخوانید (برای نوشتن روش onPause برای Activity) :
کلید شماره 2802
تو اون قسمت که نوشته شده // your codes for pause باید کدوم از قسمت از کدهایی که تو بالا براتون فرستادم را قرار بدم. چون قبلا قرار دادم ولی خطا داد
@Override
protected void onPause () {
// TODO Auto-generated method stub
super. onPause();
// your codes for pause
}
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
و اگه نتونستم مشکل رو حل کنم،شما پیشنهادی دارید که تعداد اکتیویتی ها خیلی کم بشه . مثلا یک اکتیویتی باشه و با هر بار زدن روی دکه next عکس و موزیک اکتیویتی تغییر کنه.و این همه اکتیویتی هم نداشته باشیم؟
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۳/۰۹/۲۲, ۰۴:۲۵ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۹/۲۲, ۰۴:۲۷ ب.ظ توسط admin.)
دستور زیر را باید از آن قسمت قبلی بردارید و به جای عبارتی که گفتید بنویسید :
یعنی از آنجا حذف می شود و در روش onPause به شکل زیر نوشته می شود :
کد پیاچپی: @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); finish(); }
(۱۳۹۳/۰۹/۲۲, ۰۲:۴۲ ب.ظ)'alizzz' نوشته: و اگه نتونستم مشکل رو حل کنم،شما پیشنهادی دارید که تعداد اکتیویتی ها خیلی کم بشه . مثلا یک اکتیویتی باشه و با هر بار زدن روی دکه next عکس و موزیک اکتیویتی تغییر کنه.و این همه اکتیویتی هم نداشته باشیم؟
من ازتون نپرسیدم چرا تعداد زیادی Activity دارید، چون هر کس به روش خودش کد می نویسه و گفتم ممکنه برای مراحل بازی یا ... باشه، اما اگر صرفا برای نمایش تعدادی عکس و پخش موسیقی، از چندین Activity استفاده می کنید، توصیه من این است که تنها از یک Activity استفاده شود (چون اگر مثلا بخواهید تعداد موسیقی ها را به 200 افزایش بدهید، دیگر ادامه برنامه سازی با این روش، مقرون به صرفه نخواهد بود، منظورم از نظر زمان مورد نیاز برای قرار دادن محتوای جدید در برنامه اندروید است).
وقتی تنها یک Activity داشته باشیم، در کدهای Activity ، یک شماره دریافت می شود (هنگام رفتن به Activity ، شماره متناظر با محتوا را به آن ارسال می کنیم)، سپس بر اساس آن، یک عکس نمایش داده می شود و یک موسیقی هم پخش می شود. در مورد ساخت برنامه های اندروید ((محتوا محور))، در کلید زیر صحبت کرده ایم :
کلید شماره 2253
در کلید بالا، بیشتر در مورد متن صحبت کردیم ولی برای شما که با عکس و موسیقی سر و کار دارید، توصه می شود که مثلا نام گذاری فایل های mp3 ، به صورت زیر باشد :
کد پیاچپی: music_1.mp3 music_2.mp3 music_3.mp3 ... music_30.mp3
یعنی پیشوند ثابت و یک پسوند متغیر (به صورت شماره). بعد وقتی که Activity ، مثلا شماره 10 را دریافت می کند، باید فایل music_10.mp3 را پخش کند.
هر کدام از دو ساختار را که انتخاب کردید، حتما روش release را بعد از stop بنویسید تا مشکل دوباره تکرار نشود.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 105
موضوعها: 36
تاریخ عضویت: آبان ۱۳۹۳
اعتبار:
11
سپاس ها 6
سپاس شده 106 بار در 60 ارسال
حالت من: هیچ کدام
با سلام
مشکلم حل شد
از mediaplayer.reset(); به جای relesase استفاده کردم
با تشکر
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 3
موضوعها: 0
تاریخ عضویت: اسفند ۱۳۹۳
اعتبار:
0
سپاس ها 0
سپاس شده 0 بار در 0 ارسال
حالت من: هیچ کدام
(۱۳۹۳/۰۹/۲۲, ۰۴:۲۵ ب.ظ)'admin' نوشته: دستور زیر را باید از آن قسمت قبلی بردارید و به جای عبارتی که گفتید بنویسید :
یعنی از آنجا حذف می شود و در روش onPause به شکل زیر نوشته می شود :
کد پیاچپی: @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); finish(); }
(۱۳۹۳/۰۹/۲۲, ۰۲:۴۲ ب.ظ)'alizzz' نوشته: و اگه نتونستم مشکل رو حل کنم،شما پیشنهادی دارید که تعداد اکتیویتی ها خیلی کم بشه . مثلا یک اکتیویتی باشه و با هر بار زدن روی دکه next عکس و موزیک اکتیویتی تغییر کنه.و این همه اکتیویتی هم نداشته باشیم؟
من ازتون نپرسیدم چرا تعداد زیادی Activity دارید، چون هر کس به روش خودش کد می نویسه و گفتم ممکنه برای مراحل بازی یا ... باشه، اما اگر صرفا برای نمایش تعدادی عکس و پخش موسیقی، از چندین Activity استفاده می کنید، توصیه من این است که تنها از یک Activity استفاده شود (چون اگر مثلا بخواهید تعداد موسیقی ها را به 200 افزایش بدهید، دیگر ادامه برنامه سازی با این روش، مقرون به صرفه نخواهد بود، منظورم از نظر زمان مورد نیاز برای قرار دادن محتوای جدید در برنامه اندروید است).
وقتی تنها یک Activity داشته باشیم، در کدهای Activity ، یک شماره دریافت می شود (هنگام رفتن به Activity ، شماره متناظر با محتوا را به آن ارسال می کنیم)، سپس بر اساس آن، یک عکس نمایش داده می شود و یک موسیقی هم پخش می شود. در مورد ساخت برنامه های اندروید ((محتوا محور))، در کلید زیر صحبت کرده ایم :
کلید شماره 2253
در کلید بالا، بیشتر در مورد متن صحبت کردیم ولی برای شما که با عکس و موسیقی سر و کار دارید، توصه می شود که مثلا نام گذاری فایل های mp3 ، به صورت زیر باشد :
کد پیاچپی: music_1.mp3 music_2.mp3 music_3.mp3 ...سشس music_30.mp3
یعنی پیشوند ثابت و یک پسوند متغیر (به صورت شماره). بعد وقتی که Activity ، مثلا شماره 10 را دریافت می کند، باید فایل music_10.mp3 را پخش کند.
هر کدام از دو ساختار را که انتخاب کردید، حتما روش release را بعد از stop بنویسید تا مشکل دوباره تکرار نشود.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 3
موضوعها: 0
تاریخ عضویت: اسفند ۱۳۹۳
اعتبار:
0
سپاس ها 0
سپاس شده 0 بار در 0 ارسال
حالت من: هیچ کدام
۱۳۹۳/۱۲/۲۸, ۰۴:۳۰ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۹/۰۶, ۰۴:۲۰ ق.ظ توسط admin.)
دوست عزیز من هم این مشکل رو داشتم. ربطی به تعداد activity ها نداره.
من این طور حلش کردم که از دستور reset() استفاده کردم.
وقتی پلیر از یک تعدادی بیشتر play می کرد دیگه برنامه هیچ موسیقی ای رو play نمی کرد. می دونید در اصل وقتی از stop() استفاده کنید فایل به طور کامل از حافظه پاک نمی شه و به نظر من overflow رخ می ده. البته فکر می کنم.
من از این دستور استفاده کردم جواب داد و مشکلم حل شد.
کد پیاچپی: clickP = MediaPlayer.create(ActivityItems.this, R.raw.btnplayer); clickP.setLooping(false); // Set looping clickP.setVolume(100, 100); clickP.start(); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } clickP.reset();
البته من از thread در برنامه ی خودم استفاده کردم و گفتم هر 10 ثانیه یک بار پلیر رو reset کنه چون فایل من 1 ثانیه بود.
شما می تونید توی onPause تون استفاده کنید البته اگه بدوم play شدن هیچ موسیقی ای back بزنید crash می شه. از try یا استفاده کنید و یا با if این مشکل رو حل کنید.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 3
موضوعها: 0
تاریخ عضویت: اسفند ۱۳۹۳
اعتبار:
0
سپاس ها 0
سپاس شده 0 بار در 0 ارسال
حالت من: هیچ کدام
(۱۳۹۳/۰۹/۲۱, ۰۱:۱۲ ب.ظ)'alizzz' نوشته: با سلام
یک مشکل عجیب واسه من پیش اومده، کسی می تونه راهنمایی کنه؟
من 50 تا اکتیویتی دارم که تو هر کدوم سه تا button هست. یکی برای رفتن به اکتیویتی بعدی ، یکی برای پخش موسیقی (که میزان پیشرفت هم روی seekbar مشخص میشه) و یکی هم برای توقف موسیقی. و زمان موسیقی ها هم کوتاه هستش
مشکل من اینه که وقتی 30 تا از موسیقی ها رو گوش می کنم( چه چند ثانیه چه تا آخر) دیگه با کلیلک روی دکمه پخش دیگه تو هیچ کدوم از اکتیویتی ها موسیقی پخش نمیشه، حتی اگه برنامه رو ببندم و دوباره باز کنم. و برای درست شدن باید حتما برنامه رو دوباره نصب کنم که بعد از نصب دوباره هم بیشتر از 30 تا موسیقی را نمیشه گوش داد
اینم اضافه کنم که فرقی نمیکنه که تو کدوم صفحات به موسیقی گوش دادی. مثلا من تو اکتیویتی 1 موسیقی رو پخش می کنم . بعد تو 3 و بعد 7 و بعد 50 و بعد 31 و... و وقتی که تعداد موسیقی هایی که گوش کردی( چه تا آخر موسیقی و چه فقط چند ثانیه اش) به 30 تا برسه دیگه دکمه های پخش کار نمیکنه و هیچ چیزی پخش نمیشه و seekbar هم هیچ پیشرفتی نداره. ولی میتونی به اکتیویتی بعدی و قبلی رفت.فقط نمیدونم چرا دیگه موسیقی پخش نمیکنه
کسی می دونه دلیلش چیه؟؟؟
با تشکر
با reset() نتیجه می گیرید.
player.reset
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
سلام من هم یه مشکل یکم مشابه همین دارم . در اکتیویتی تعدادی دکمه دارم که در هر کدام از دکمه ها یه اهنگ یک ثانیه ای هست ولی وقتی بعداز چندبار اشاره روی دکمه ها .دیگر آهنگ ها پخش نمی شود . چکار باید کنم؟؟؟
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۹/۰۶, ۰۲:۲۸ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۹/۰۶, ۰۴:۱۸ ق.ظ توسط admin.)
من از reset استفاده کردم ولی دیگه با لمس روی دکمه ها صدایی پخش نمیشه از همون اولش . چرا؟ اینم کدش . ممنون میشم راهنمایی کنید
کد پیاچپی: b8.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub player = MediaPlayer.create(saf1.this, R.raw.ha8); player.setVolume(100, 100); player.start(); player.reset(); } });
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
(۱۳۹۴/۰۹/۰۶, ۰۲:۲۸ ق.ظ)'حمید' نوشته: من از reset استفاده کردم ولی دیگه با لمس روی دکمه ها صدایی پخش نمیشه از همون اولش . چرا؟ اینم کدش . ممنون میشم راهنمایی کنید
کد پیاچپی: b8.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub player = MediaPlayer.create(saf1.this, R.raw.ha8); player.setVolume(100, 100); player.start(); player.reset(); } });
سلام.
روش reset در زمان توقف موسیقی به کار می رود، اما شما آن را دقیقا بعد از روش start (شروع پخش موسیقی) نوشته اید، پس در یک زمان خیلی کوتاه، موسیقی شروع و متوقف می شود (عملا موسیقی پخش نمی شود).
ارسال های قبلی را با دقت بخوانید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
ببخشید من قبل از reset باید چه کدی بنویسم که دچار مشکل نشوم .و دکمه ها هم بعداز چندبار اشاره صدای موزیکشون قطع نشه.؟؟؟ با سپاس
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۹/۰۶, ۰۵:۲۴ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۹/۰۶, ۰۲:۵۶ ب.ظ توسط admin.)
از روش thread هم استفاده کردم اما وقتی ثانیه شو کم میکنم با لمس روی دکمه موزیک زود قطع میشود . و وقتی ثانیه شو زیاد میکنم دکمه تا زمان سپری شدن ثانیه ها فرو میره و دکمه های دیگه هم غیر فعال میشن . با این کد . ممنون میشم
کد: player.start();
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.reset();
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۹/۰۶, ۰۳:۲۶ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۹/۰۶, ۰۳:۲۶ ب.ظ توسط حمید.)
دوباره سلام ممنون میشم اگه کمکم کنید . مشکل من حل نشد . صداها بعد از چندبار اشاره برروی دکمه ها ها دیگه پخش نمیشه ؟؟؟ از روش reset باید کجا استفاده کنم ؟؟ ممنون میشم اگه کامل توضیح بدید
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۹/۰۶, ۰۴:۳۴ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۹/۰۶, ۰۴:۳۸ ب.ظ توسط admin.)
(۱۳۹۴/۰۹/۰۶, ۰۵:۲۴ ق.ظ)'حمید' نوشته: از روش thread هم استفاده کردم اما وقتی ثانیه شو کم میکنم با لمس روی دکمه موزیک زود قطع میشود . و وقتی ثانیه شو زیاد میکنم دکمه تا زمان سپری شدن ثانیه ها فرو میره و دکمه های دیگه هم غیر فعال میشن . با این کد . ممنون میشم
کد: player.start();
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.reset();
تفاوتی نکرد. شما موسیقی را پخش می کنید، 0.1 ثانیه توقف thread و بعد کد توقف موسیقی، بنابراین موسیقی اصلا پخش نمی شود (0.1 ثانیه پخش).
شما کد زیر را تنها در زمانی که می خواهید موسیقی متوقف شود (مثلا هنگام اشاره روی یک دکمه یا ...)، اجرا نمایید (نه دقیقا بعد از کدهای پخش موسیقی) :
در واقع کد زیر برای توقف باید به کار رود (در محل مناسب که مربوط به توقف موسیقی است) :
کد پیاچپی: player.stop(); player.reset();
قبل از شروع پخش آهنگ بعدی، آهنگ قبلی (یا در واقع MediaPlayer) را stop و reset می کنید و بعد آهنگ بعدی را پخش می نمایید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
ببخشید منظور من اینه که من یه برنامه نوشتم مانند برنامه پیانو که داخل هر دکمه ش یه آهنگ دو ثانیه ای هست . ولی بعداز چندبار اشاره بر روی دکمه ها دیگه با لمس بر روی دکمه ها هیچ آهنگی پخش نمیشه . باید چه کدی و کجا به کار ببرم که آهنگ دکمه ها بعداز چندبار اشاره شدن قطع نشه؟؟؟؟ اگه میشه کامل توضیح بدبد. ممنون
سپاس شده توسط | |
|
مشکل عجیب در پخش تعداد بالای موسیقی در برنامه اندروید
ارسالها: 7
موضوعها: 0
تاریخ عضویت: آذر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
حالت من: هیچ کدام
بچه ها ممنون میشم یکی منو راهنمایی کنه
بخشید منظور من اینه که من یه برنامه نوشتم مانند برنامه پیانو که داخل هر دکمه ش یه آهنگ دو ثانیه ای هست . ولی بعداز چندبار اشاره بر روی دکمه ها دیگه با لمس بر روی دکمه ها هیچ آهنگی پخش نمیشه . باید چه کدی و کجا به کار ببرم که آهنگ دکمه ها بعداز چندبار اشاره شدن قطع نشه؟؟؟؟ اگه میشه کامل توضیح بدبد. ممنون
|