رفتن به مطلب
  • 0

درخواست صفحه تنظيمات (قطع و وصل كردن آهنگ) با B4A


Arta20

سوال

سلام. من يه صفحه تنظيمات ميخوام كه فرد وقتي روي دكمه زد آهنگ فعال بشه و اگه دوباره روي اون دكمه زد آهنگ غير فعال باشه. ميخوام اگه آهنگ فعال بود تصوير فعال نشون داده بشه و اگه آهنگ غير فعال بود تصوير غير فعال نشون داده بشه. با ديتابيس آفلاين كسي ميتونه برام درست كنه و سورسش رو بفرسته؟!

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

17 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۰/۵/۲۵ در ۱۴:۴۳، Arta۲۰ گفته است:

اين از Design ديتابيسم

Design.PNG

اين از tbl_voice

tbl.PNG

 

دوست عزیز از boolean استفاده کنید چون نیازی به عدد ندارین شما کلا 2 حالت روشن خاموش دارین پس اینا تغییر بدین

در ۱۴۰۰/۵/۲۵ در ۱۴:۴۳، Arta۲۰ گفته است:
	If cur.GetString("voice")="1" Then
		mp.Load(File.DirAssets , "music1.mp3")
		mp.Looping = True
		mp.Play
	Else If cur.GetString("voice")="2" Then
        mp.Stop
	End If

فراخوانی عکساتون هم در همین قسمت انجام بدید

	If cur.GetString("voice")="1" Then
		mp.Load(File.DirAssets , "music1.mp3")
		mp.Looping = True
		mp.Play
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_on.png"))
	Else If cur.GetString("voice")="2" Then
        mp.Stop
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_off.png"))
	End If

 

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

در ۱۴۰۰/۵/۲۵ در 20:46، DexterFstone گفته است:

فراخوانی عکساتون هم در همین قسمت انجام بدید

	If cur.GetString("voice")="1" Then
		mp.Load(File.DirAssets , "music1.mp3")
		mp.Looping = True
		mp.Play
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_on.png"))
	Else If cur.GetString("voice")="2" Then
        mp.Stop
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_off.png"))
	End If

 

دوست عزيز من در بخش main2 اصلا img_sound ندارم چون از بخش setting فعال و غير فعال ميكنم.

و اينكه cur رو از نوع Boolean تعريف كنم؟!

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

در ۱۴۰۰/۵/۲۵ در 20:46، DexterFstone گفته است:

دوست عزیز از boolean استفاده کنید چون نیازی به عدد ندارین شما کلا 2 حالت روشن خاموش دارین پس اینا تغییر بدین

فراخوانی عکساتون هم در همین قسمت انجام بدید

	If cur.GetString("voice")="1" Then
		mp.Load(File.DirAssets , "music1.mp3")
		mp.Looping = True
		mp.Play
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_on.png"))
	Else If cur.GetString("voice")="2" Then
        mp.Stop
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_off.png"))
	End If

 

دوست عزيز من در بخش main2 اصلا img_sound ندارم چون از بخش setting فعال و غير فعال ميكنم.

و اينكه cur رو از نوع Boolean تعريف كنم؟!

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

اگه امکانش هست فایل پروژتون پیوست کنید تا ی نگاهی بندازم

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

در ۱۴۰۰/۵/۲۵ در 23:00، DexterFstone گفته است:

اگه امکانش هست فایل پروژتون پیوست کنید تا ی نگاهی بندازم

متاسفانه نمیتونم

ببخشید🙏

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

در ۱۴۰۰/۵/۲۵ در 23:00، DexterFstone گفته است:

اگه امکانش هست فایل پروژتون پیوست کنید تا ی نگاهی بندازم

امکانش هست برام طبق چیزی که گفتم یه سورس بفرستین؟ (با دیتابیس آفلاین)

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

در ۱۴۰۰/۵/۲۶ در ۰۸:۴۳، Arta۲۰ گفته است:

امکانش هست برام طبق چیزی که گفتم یه سورس بفرستین؟ (با دیتابیس آفلاین)

من با دیتابیس کار نکردم ولی اگه بدون دیتابیس بخواین میتونم

ی راهنمایی دیگه

ببینید شما وقتی برنامتون لود شد و بعد از اینکه ایمیج ویوتون را ساختین باید اطلاعات از دیتابیس بخونید و بر اسا اون با شرط عکس لود بشه

اگه طبق همین موضوع پیش برید و کدنویسیتون مشکل نداشته باشه باید جواب بده

پس اگه از همین روش رفتین و مشکل دارین فایل خودتون خروجی زیپ بگیرین و پیوست کنید تا ی نگاهی بندازم

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

در ۱۴۰۰/۵/۲۶ در 09:35، DexterFstone گفته است:

من با دیتابیس کار نکردم ولی اگه بدون دیتابیس بخواین میتونم

ی راهنمایی دیگه

ببینید شما وقتی برنامتون لود شد و بعد از اینکه ایمیج ویوتون را ساختین باید اطلاعات از دیتابیس بخونید و بر اسا اون با شرط عکس لود بشه

اگه طبق همین موضوع پیش برید و کدنویسیتون مشکل نداشته باشه باید جواب بده

پس اگه از همین روش رفتین و مشکل دارین فایل خودتون خروجی زیپ بگیرین و پیوست کنید تا ی نگاهی بندازم

من نمیتونم فایلم رو بفرستم ولی میتونم شبیه اش رو طراحی کنم و بفرستم

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

در ۱۴۰۰/۵/۲۶ در 12:17، Arta20 گفته است:

من نمیتونم فایلم رو بفرستم ولی میتونم شبیه اش رو طراحی کنم و بفرستم

خب حد اقل چنتا شات از محیط برنامه درحا ل اجرا بفرستید تا بدونم با چی سراکار دارید تا بهتر بتونم راهنمایی کنم

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

در ۱۴۰۰/۵/۲۶ در 12:34، DexterFstone گفته است:

خب حد اقل چنتا شات از محیط برنامه درحا ل اجرا بفرستید تا بدونم با چی سراکار دارید تا بهتر بتونم راهنمایی کنم

الان براتون پروژه رو ميفرستم

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

در ۱۴۰۰/۵/۲۶ در 12:34، DexterFstone گفته است:

خب حد اقل چنتا شات از محیط برنامه درحا ل اجرا بفرستید تا بدونم با چی سراکار دارید تا بهتر بتونم راهنمایی کنم

https://s19.picofile.com/file/8439490126/Test.zip.html

اين هم از فايل پروژه

فايل متاسفانه اشتباه آپلود شد. دقايقي ديگر دوباره آپلود ميكنم

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

در ۱۴۰۰/۵/۲۶ در 12:45، Arta20 گفته است:

https://s19.picofile.com/file/8439490126/Test.zip.html

اين هم از فايل پروژه

شما گفتين cur رو از بلوين تعريف كن. من هم از boolean تعريف كردم ولي ارور ميده

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

در ۱۴۰۰/۵/۲۶ در 12:34، DexterFstone گفته است:

خب حد اقل چنتا شات از محیط برنامه درحا ل اجرا بفرستید تا بدونم با چی سراکار دارید تا بهتر بتونم راهنمایی کنم

لينك پروژه:

https://s18.picofile.com/file/8439495934/Test.rar.html

فكر كنم يه خطا براي sql هم بده. هر كاري كردم رفع نشد

تمام كد هايي كه تو پروژه مربوط به اين ميشد رو در اينجا نوشتم

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

در ۱۴۰۰/۵/۲۴ در ۱۴:۰۱، Arta۲۰ گفته است:

سلام. من يه صفحه تنظيمات ميخوام كه فرد وقتي روي دكمه زد آهنگ فعال بشه و اگه دوباره روي اون دكمه زد آهنگ غير فعال باشه. ميخوام اگه آهنگ فعال بود تصوير فعال نشون داده بشه و اگه آهنگ غير فعال بود تصوير غير فعال نشون داده بشه. با ديتابيس آفلاين كسي ميتونه برام درست كنه و سورسش رو بفرسته؟!

دوست عزیز نیازی به دیتا بیس نیست

اول این کتابخانه را دانلود کنید

بعد از اون تعریفش کنید

Dim Memory as M_Secure_SharedPrefrence

Memory.initialize(پسورد)

حالا یک دکمه یا هرچیزی ک نیاز دارین تا با اون وضعیت موسیقی را نشون بده را قرار بدید برای مثال من از پنل استفاده میکنم

و دوتا عکس هم دارم یکی به اسم music_on.png و اون یکی هم off

 

خب حالا شروع به ساختنش میکنم

pnl.initialize("Music")
ACtivity.addview(pnl,5%x,5%y,10%x,10%y)

خب بعدش میام و عکس را با شرایط متغیر قبلی موسیقی مقایسه میکنم برای مثال اولین باری ک برنامه اجرا میشه باید موسیقی پخش بشه پس

MediaPlayer.Enable = Memory.GetBool("Music",True)

IIf (MediaPlayer.Enable == True, pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_on.png")),pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_off.png"))

خب به این شکل آهنگ در صورت نیاز پخش میشه و عکس متناسب با اون با دصتور IFF قرار داده میشه

لینک آموزش IFF

خب حالا فقط رویداد کلیلک مونده

Sub Music_Click
	If MediaPlayer.Enable == True Then
		MediaPlayer.Enable = Flase
		Memory.SetBool("Music",False)
		pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_off.png"))
	Else
		MediaPlayer.Enable = true
		Memory.SetBool("Music",true)
		pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_on.png"))
End sub

و به این شکل با بررسی کردن وضعیت روشنی و یا خاموشی مدیا پلیر (یا اگه تعداد فایل های صوتی زیاد دارین از DGAudio در سایت استفاده کنید) تغییرات عکس و ذخیره وضعیت دکمه در حافظه ذخیره میشه و با هر بار لود شدن اکتیویتی یا برنامه هیچ مشکلی پیش نمیاد مگر اینکه برنامه CleanData بشه

 

موفق بشید

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

در ۱۴۰۰/۵/۲۵ در ۱۰:۰۶، DexterFstone گفته است:

دوست عزیز نیازی به دیتا بیس نیست

اول این کتابخانه را دانلود کنید

بعد از اون تعریفش کنید

Dim Memory as M_Secure_SharedPrefrence

Memory.initialize(پسورد)

حالا یک دکمه یا هرچیزی ک نیاز دارین تا با اون وضعیت موسیقی را نشون بده را قرار بدید برای مثال من از پنل استفاده میکنم

و دوتا عکس هم دارم یکی به اسم music_on.png و اون یکی هم off

 

خب حالا شروع به ساختنش میکنم

pnl.initialize("Music")
ACtivity.addview(pnl,5%x,5%y,10%x,10%y)

خب بعدش میام و عکس را با شرایط متغیر قبلی موسیقی مقایسه میکنم برای مثال اولین باری ک برنامه اجرا میشه باید موسیقی پخش بشه پس

MediaPlayer.Enable = Memory.GetBool("Music",True)

IIf (MediaPlayer.Enable == True, pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_on.png")),pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_off.png"))

خب به این شکل آهنگ در صورت نیاز پخش میشه و عکس متناسب با اون با دصتور IFF قرار داده میشه

لینک آموزش IFF

خب حالا فقط رویداد کلیلک مونده

Sub Music_Click
	If MediaPlayer.Enable == True Then
		MediaPlayer.Enable = Flase
		Memory.SetBool("Music",False)
		pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_off.png"))
	Else
		MediaPlayer.Enable = true
		Memory.SetBool("Music",true)
		pnl.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"Music_on.png"))
End sub

و به این شکل با بررسی کردن وضعیت روشنی و یا خاموشی مدیا پلیر (یا اگه تعداد فایل های صوتی زیاد دارین از DGAudio در سایت استفاده کنید) تغییرات عکس و ذخیره وضعیت دکمه در حافظه ذخیره میشه و با هر بار لود شدن اکتیویتی یا برنامه هیچ مشکلی پیش نمیاد مگر اینکه برنامه CleanData بشه

 

موفق بشید

ممنون از آموزش خوب تون🌹

ولی من همه کار های دیتابیس رو کردم و به خوبی کار میکنه. ولی وقتی از برنامه خارج میشیم و دوباره وارد میشیم تصویر آهنگ تغییر میکنه.

یه صفحه تنظیمات دارم و یه صفحه main. در صفحه main میخوام آهنگ پخش بشه.

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

در ۱۴۰۰/۵/۲۵ در 13:34، Arta20 گفته است:

ممنون از آموزش خوب تون🌹

ولی من همه کار های دیتابیس رو کردم و به خوبی کار میکنه. ولی وقتی از برنامه خارج میشیم و دوباره وارد میشیم تصویر آهنگ تغییر میکنه.

یه صفحه تنظیمات دارم و یه صفحه main. در صفحه main میخوام آهنگ پخش بشه.

خب برای دیتابیس هم به همین شکله

اول یک متغیر تعریف کنید از نوع بول

بعد از لود شدن لایوت دیتابیس بخونید و بر اسا اون ک آیا ترو یا فالزه آهنگ پخش بشه

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

فقط یک نکته را در نظر داشته باشید مدیا پلیر با بسته شدن یک اکتیویتی از کار میوفته

 

حالا اگه بازم مشکل داشتین قطعه کد خودتونا قرار بدید تا بر اساس همون پیش برم

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

در ۱۴۰۰/۵/۲۵ در ۱۴:۱۰، DexterFstone گفته است:

خب برای دیتابیس هم به همین شکله

اول یک متغیر تعریف کنید از نوع بول

بعد از لود شدن لایوت دیتابیس بخونید و بر اسا اون ک آیا ترو یا فالزه آهنگ پخش بشه

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

فقط یک نکته را در نظر داشته باشید مدیا پلیر با بسته شدن یک اکتیویتی از کار میوفته

 

حالا اگه بازم مشکل داشتین قطعه کد خودتونا قرار بدید تا بر اساس همون پیش برم

اين از Design ديتابيسم

Design.PNG

اين از tbl_voice

tbl.PNG

 

در بخش main2 و در قسمت Activity Create

	If sql.IsInitialized=False Then
		sql.Initialize(File.DirRootExternal,"game.db",True)
	End If
	
	mp.Initialize
	
	cur=sql.ExecQuery("SELECT * FROM tbl_voice")
	cur.Position=0

	If cur.GetString("voice")="1" Then
		mp.Load(File.DirAssets , "music1.mp3")
		mp.Looping = True
		mp.Play
	Else If cur.GetString("voice")="2" Then
        mp.Stop
	End If

در بخش setiing و در قسمت Activity Create (يه cur از نوع int در Process_Globals تعريف كردم)

	If sql.IsInitialized=False Then
		sql.Initialize(File.DirRootExternal,"game.db",True)
	End If
	
	If cur = 0 Then
'		cur = 1
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_on.png"))
	Else
'		cur = 1
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_off.png"))
	End If

در بخش setting و در قسمت img_sound_click

Private Sub Img_sound_Click
	If cur = 1 Then
		cur = 0
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_on.png"))
		sql.ExecNonQuery("UPDATE tbl_voice SET voice = '1' where id = 1")
	Else
		cur = 1
		Img_sound.SetBackgroundImage(LoadBitmap(File.DirAssets,"sound_off.png"))
		sql.ExecNonQuery("UPDATE tbl_voice SET voice = '2' where id = 1")
	End If
End Sub

وقتي آهنگ رو فعال ميكنم شكل به حالت sound_on درمياد. وقتي آهنگ رو غير فعال ميكنم شكل به حالت sound_off در مياد. وقتي از برنامه خارج ميشم و دوباره وارد ميشم، save كرده. يعني آهنگ رو اگه فعال كرده بودم فعاله و اگه غير فعال كرده بودم غير فعاله. ولي مشكل اينجاست وقتي از اپ خارج ميشم و دوباره وارد ميشم چه آهنگ فعال باشه و چه آهنگ غير فعال باشه، شكل به حالت sound_on هستش.

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...