انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
عدم اجرا وهمچنین ناقص اجرا شدن فایل صوتی (اندروید)

عدم اجرا وهمچنین ناقص اجرا شدن فایل صوتی (اندروید)

#1
با سلام .


-  تعداد زیادی اکتیویتی داریم ، که با دکمه های next Activity و  previous Activity که درون هر اکتیوتی تعبیه شده از یک اکتیویتی به اکتیویتی دیگه می ریم .
-  به محض اجرا شدن هر اکتیویتی یک فایل صوتی چند ثانیه ای (3ثانیه ای ) اجرا میشه (کدهای پلیر درون متد onCreate تعریف شده تا همزمان با اجرا شدن اکتیویتی فایل صوتی هم اجرا بشه ) .

مشکل:
بعد از اینکه مثلا از اکتیوتی 1 شروع می کنیم و به اکتیوتی 5 می رسیم ،توی اکتیویتی 5 فایل صوتی اجرا نمی شه و یا ناقص اجرا میشه . این اجرا نشدن یا ناقص اجرا شدن هم تابع قانون خاصی نیست و رندوم وار اتفاق می افته ، ممکنه تو اکتیویتی اول اتفاق بیفته یا تو اکتیوتی بیستم !
البته با دوباره اجرا کردن اون اکتیویتی فایل صوتی به صورت کامل و درست پخش میشه .
( این رو هم بگم که دستور  ()finish توی متد onStop برای هر اکتیویتی تعریف شده تا هنگام رفتن به اکتیویتی بعدی ، اکتیویتی قبلی kill بشه  و دیگه اینکه دکمه ای واسه stop شدن فایل صوتی تعبیه نشده  ) .


سوال :

ایراد کار چی میتونه باشه ؟
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ

عدم اجرا وهمچنین ناقص اجرا شدن فایل صوتی (اندروید)

#2
سلام.
موضوع زیر را تا آخر بخوانید (راه حل هایی در ارسال های آخر آن نوشته شده است) :

http://www.kelidestan.com/forum/showthread.php?tid=4923

در واقع راه حل را به صورت استفاده از دستور reset() ذکر کرده اند.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط 00Alireza00

عدم اجرا وهمچنین ناقص اجرا شدن فایل صوتی (اندروید)

#3
سلام .
 با تشکر از مدیر ، مشکل بنده حل شد .

چون احتمالش زیاده دوستان دیگه هم همین مشکل واسشون پیش بیاد توضیحات زیر رو یادآوری می کنم :

به گفته developer.android.com موقع کدنویسی واسه player باید چرخه حیات پلیر رو تو ذهنتون داشته باشین :

   

 اگه دقت کنین حیات یک پلیر بین ()reset   و ()release قرار می گیره ، حالا اگه شما پلیر رو stop کنین ولی بعد از stop فراموش کنید پلیر رو release کنین ، پلیر به حیاتش ادامه میده و طبق گفته http://developer.android.com/guide/topic...layer.html هنگامی که شما از اکتیویتی خارج میشین (یا حتی حالت صفحه شما از افقی به عمودی و بالعکس تغییر می کنه ) چون هنوز پلیر داره به حیات خودش ادامه میده باعث ایجاد بروز مشکلاتی (در مورد من باعث می شد که رندوم وار بعضی از فایل های صوتی توی اکتیویتی های دیگه اجرا نشه ) در برنامه اندروید میشه ، بنابراین حتما باید برای اینکه پلیر به حیاتش خاتمه بده بعد از stop کردنش اون رو release کنین .

مشکل من هم با راهکار ساده زیر حل شد (متدهای زیر رو بعد از کدهایی قرار دادم که کاربر رو به اکتیویتی بعدی هدایت می کرد ، یعنی قبل از اینکه فایل صوتی در اکتیویتی بعدی اجرا بشه ابتدا player رو stop   و بعدش هم release کردم ) :

کد پی‌اچ‌پی:
player.stop();
player.release(); 

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان