مشکل با دکمه home گوشی

peighami

New Member
سلام دوستان
من یه مشکل با دکمه HOME گوشی در اندروید دارم و اون موقعی هست که دکمه HOME رو میزنم برنامه در واقع minimize میشه همچنان صدای برنامه میاد!!!
چه کدی باید استفاده کنم تا این صدا قطع بشه و وقتی باز به برنامه برگشتم صدا بیاد
یه سری سرچ کردم BACK - SEARCH - MENU رو فقط دسترسی میداد ولی HOME رو نفهمیدم چه کنم
ممنون میشم راهنمایی کنید
 

Fanous

Well-Known Member
سلام دوستان
من یه مشکل با دکمه HOME گوشی در اندروید دارم و اون موقعی هست که دکمه HOME رو میزنم برنامه در واقع minimize میشه همچنان صدای برنامه میاد!!!
چه کدی باید استفاده کنم تا این صدا قطع بشه و وقتی باز به برنامه برگشتم صدا بیاد
یه سری سرچ کردم BACK - SEARCH - MENU رو فقط دسترسی میداد ولی HOME رو نفهمیدم چه کنم
ممنون میشم راهنمایی کنید

سلام دوست عزیز
شما اول باید 2 تا لستنر به شکل زیر تعریف کنین:
کد:
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);
اولی چک میکنه که برنامه کی غیرفعال میشه ، مثلا کاربر دکمه هوم رو میزنه یا گوشی زنگ می خوره یا ...
دومی چک میکنه برنامه کی دوباره بالا میاد
این هم توابعشون :
کد:
function handleDeactivate(event:Event):void {
         //the app is now losing focus
         musicChannel.stop();
     }
function handleActivate(event:Event):void {
         musicChannel= mySong.play();
     }

شما توی این 2 تا تابع دستوراتتون رو بنویسین
موفق باشین
 

samangeraphic

Active Member
سلام دوست عزیز
شما اول باید 2 تا لستنر به شکل زیر تعریف کنین:
کد:
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);
اولی چک میکنه که برنامه کی غیرفعال میشه ، مثلا کاربر دکمه هوم رو میزنه یا گوشی زنگ می خوره یا ...
دومی چک میکنه برنامه کی دوباره بالا میاد
این هم توابعشون :
کد:
function handleDeactivate(event:Event):void {
         //the app is now losing focus
         musicChannel.stop();
     }
function handleActivate(event:Event):void {
         musicChannel= mySong.play();
     }

شما توی این 2 تا تابع دستوراتتون رو بنویسین
موفق باشین


سلام فانوس
دقیقا من هم همین مشکلو دارم
میشه بگید این کدو دقیقا کجا باید استفاده کنم و آهنگمو باید چه جوری بهش بشناسونم

یه سوال دیگه هم دارم
فک کنم اینی که شما گذاشتی آهنگ رو استاپ میکنه و دوباره که برنامه بیاد بالا از اول آهنگو میخونه
واسه pause کردن چی کار باید کرد
 
آخرین ویرایش:

Fanous

Well-Known Member
سلام فانوس
دقیقا من هم همین مشکلو دارم
میشه بگید این کدو دقیقا کجا باید استفاده کنم و آهنگمو باید چه جوری بهش بشناسونم

یه سوال دیگه هم دارم
فک کنم اینی که شما گذاشتی آهنگ رو استاپ میکنه و دوباره که برنامه بیاد بالا از اول آهنگو میخونه
واسه pause کردن چی کار باید کرد

سلام
کدهای بالارو توی همون فریم اول بنویسین ( البته توی هر فریم دیگه هم بنویسین بازم کار میکنن )
این کد یه مثال بود ، شما توی توابع handleDeactivate و handleActivate هر چیز دیگه ای می تونین بنویسین
برای pause کردن از این کد استفاده کنین :
وقتی برنامه دی اکتیو شد باید ببینین تا چه ثانیه ای از آهنگ پلی شده:
کد:
var resumeTime:Number = 0;
resumeTime = musicChannel.position;

وقتی برنامه اکتیو شد از ادامه آهنگ پخش بشه:
کد:
musicChannel = mySound.play(resumeTime);
 

samangeraphic

Active Member
سلام
کدهای بالارو توی همون فریم اول بنویسین ( البته توی هر فریم دیگه هم بنویسین بازم کار میکنن )
این کد یه مثال بود ، شما توی توابع handleDeactivate و handleActivate هر چیز دیگه ای می تونین بنویسین
برای pause کردن از این کد استفاده کنین :
وقتی برنامه دی اکتیو شد باید ببینین تا چه ثانیه ای از آهنگ پلی شده:
کد:
var resumeTime:Number = 0;
resumeTime = musicChannel.position;

وقتی برنامه اکتیو شد از ادامه آهنگ پخش بشه:
کد:
musicChannel = mySound.play(resumeTime);

این کارارو کردم
ولی ارور میده
فایل سورسو فرستادم خدمتتون
میشه این کدارو اون طوری که باید باشه بذارید برام
ممنون از لطفتون
 

پیوست ها

  • test-fanus.zip
    687.3 کیلوبایت · بازدیدها: 20

Fanous

Well-Known Member
این کارارو کردم
ولی ارور میده
فایل سورسو فرستادم خدمتتون
میشه این کدارو اون طوری که باید باشه بذارید برام
ممنون از لطفتون

خب شما کارهای مربوط به آماده سازی صدا رو اصلا انجام ندادین
من کدهارو با این فرض که شما کارهای صدارو انجام دادین نوشتم

شما اول باید صدای مورد نظرتون رو برای اکشن اسکریپت اکسپورت کنین
توی لایبرری روی فایل صدا راست کلیک کنین و پروپرتیز رو انتخاب کنین
از تب اکشن اسکریپت گزینه اکسپورت فور ... فعال کنین و یه اسم دلخواه واسه کلاستون انتخاب کنین که من "آهنگ" نوشتم
حالا کدهای زیر رو اضافه می کنیم ( البته هرجایی که قراره آهنگ پخش بشه ) :
کد:
var mySound:Sound = new ahang();
var myChannel:SoundChannel = new SoundChannel();
myChannel = mySound.play();

کل کد هم به صورت زیر :
کد:
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);

var resumeTime:Number = 0;
var mySound:Sound = new ahang();
var myChannel:SoundChannel = new SoundChannel();
myChannel = mySound.play();

function handleDeactivate(event:Event):void
{
	resumeTime = myChannel.position;
	myChannel.stop();
}
function handleActivate(event:Event):void
{
	myChannel = mySound.play(resumeTime);
}
 

پیوست ها

  • test-fanus2.rar
    383.7 کیلوبایت · بازدیدها: 33
آخرین ویرایش:

samangeraphic

Active Member
مرسی ولی وقتی خروجی apk میگیرم و نصب میکنم
هنگام اجرای برنامه ، آهنگه دوبار روی هم اجرا میشه
مثل این میمونه که از دو جا همزمان داره آهنگو میخونه و وقتی دکمه home میزنم یکی از آهنگا قطع میشه اما یکی دیگه همچنان ادامه داره؟!!!!
 

Fanous

Well-Known Member
مرسی ولی وقتی خروجی apk میگیرم و نصب میکنم
هنگام اجرای برنامه ، آهنگه دوبار روی هم اجرا میشه
مثل این میمونه که از دو جا همزمان داره آهنگو میخونه و وقتی دکمه home میزنم یکی از آهنگا قطع میشه اما یکی دیگه همچنان ادامه داره؟!!!!

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

Fanous

Well-Known Member
نه والا
من همون فایل شمارو خروجی گرفتم اتفاقا
بعد فایل خودمم گرفتم
جفتش همینطوری بود:cry:
شما خودت یه تست بری میبینی

دوست من ، قبلا گفته بودم آهنگ باید در جای مناسب پلی بشه
اون کدی که من داده بودم واسه مثال بود
شما این کد رو جایگزین کن:
کد:
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);

var resumeTime:Number = 0;
var mySound:Sound = new ahang();
var myChannel:SoundChannel = new SoundChannel();

function handleDeactivate(event:Event):void
{
	resumeTime = myChannel.position;
	myChannel.stop();
}
function handleActivate(event:Event):void
{
	myChannel = mySound.play(resumeTime);
}

الان فقط وقتی برنامه فعال بشه صدا پخش میشه
شما باتوجه به برنامه تون صدا رو در جای مناسب پلی کنین ، مثلا اگه کاربر دکمه پلی رو بزنه یا هر شرط دیگه
کد قبلی 1 بار موقع شروع صدا رو پلی می کرد 1 بار هم موقع فعال شدن برنامه
 

samangeraphic

Active Member
دوست من ، قبلا گفته بودم آهنگ باید در جای مناسب پلی بشه
اون کدی که من داده بودم واسه مثال بود
شما این کد رو جایگزین کن:
کد:
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);

var resumeTime:Number = 0;
var mySound:Sound = new ahang();
var myChannel:SoundChannel = new SoundChannel();

function handleDeactivate(event:Event):void
{
    resumeTime = myChannel.position;
    myChannel.stop();
}
function handleActivate(event:Event):void
{
    myChannel = mySound.play(resumeTime);
}

الان فقط وقتی برنامه فعال بشه صدا پخش میشه
شما باتوجه به برنامه تون صدا رو در جای مناسب پلی کنین ، مثلا اگه کاربر دکمه پلی رو بزنه یا هر شرط دیگه
کد قبلی 1 بار موقع شروع صدا رو پلی می کرد 1 بار هم موقع فعال شدن برنامه

آقا یک دنیا ممنوووون
حل شد
خیلی آقایی
انشاالله همیشه تو زندگیت موفق باشی
:rose:
 

samangeraphic

Active Member
الان بخوام به این کد repeat اضافه کنم چه طوری میشه
که آهنگو پشت هم تکرارکنه؟
 

samangeraphic

Active Member

اتفاقا این لینکو دیشب تو سرچ هام رفتم ولی چیزی دستگیرم نشد
خیلی کدهای مختلفو امتحان کردم اما یا کار نمیکردن یا باعث میشدن آهنگ دوبار روی هم اجرا بشه و آهنگ دومی لوپ میشد
شما میدونی چطور این لوپ میشه؟
:rose:
 

جدیدترین ارسال ها

بالا