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

انتخاب آهنگ آلارم از آلارم های گوشی


arf

سوال

سلام

دوستان من یه برنامه دارم میسازم که در قسمتی از آن آلارم هست

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

چجوری آهنگ های آلارم گوشی رو برای کاربر بیارم تا انتخاب کنه؟؟؟؟؟ :fekr:

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

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

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

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

از javaobject استفاده کنید اول کتابخونه رو تیک بزن و چهار تا متد زیر رو به اکتیویتیت اضافه کن

قبلش توی prosses_global هم این متغیرو تعریف کن

Private ion As Object
Sub ShowPicker
   Dim i As Intent
   i.Initialize("android.intent.action.RINGTONE_PICKER", "")
   i.PutExtra("android.intent.extra.ringtone.TYPE", 1)
   StartActivityForResult(i)
End Sub


Sub ion_Event (MethodName As String, Args() As Object) As Object
   If Args(0) = -1 Then 'resultCode = RESULT_OK
     Dim i As Intent = Args(1)
     Dim jo As JavaObject = i
     Dim uri As String = jo.RunMethod("getParcelableExtra", _
       Array As Object("android.intent.extra.ringtone.PICKED_URI"))
     Log(uri)
   End If
   Return Null
End Sub

Sub StartActivityForResult(i As Intent)
   Dim jo As JavaObject = GetBA
   ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
   jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub

Sub GetBA As Object
   Dim jo As JavaObject
   Dim cls As String = Me
   cls = cls.SubString("class ".Length)
   jo.InitializeStatic(cls)
   Return jo.GetField("processBA")
End Sub

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

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

 

بازم ممنون

فقط برای قطع شدنش باید چی بنویسم؟

و إن شاء االله سوال آخر اینکه آیا آموزشی برای javaobject هست؟ چون من از بعضی کد های شما سر در نمیارم.

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

برای قطع شدنش همون متد بالایی فقط به جای 

r.play()

بنویس 

if (r.isPlaying()){
			r.stop();
		}

اما در مورد سوال دومتون باید عرض کنم که آموزش استفاده از javaobject و inlinjava رو آقای شاهدی قبلا گذاشتن البته خب مقدماتی هستش و قطعا برای کسایی که جاوا کار نکردن کاربردی نداره فقط همین کدهای آماده رو میتونن استفاده کنن و دلیل اینکه سردر نیاوردین هم همین هست که احتمالا با جاوا و مفاهیم اون کار نکردین

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

برای قطع شدنش همون متد بالایی فقط به جای 

r.play()

بنویس 

if (r.isPlaying()){
			r.stop();
		}

اما در مورد سوال دومتون باید عرض کنم که آموزش استفاده از javaobject و inlinjava رو آقای شاهدی قبلا گذاشتن البته خب مقدماتی هستش و قطعا برای کسایی که جاوا کار نکردن کاربردی نداره فقط همین کدهای آماده رو میتونن استفاده کنن و دلیل اینکه سردر نیاوردین هم همین هست که احتمالا با جاوا و مفاهیم اون کار نکردین

 

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

دست شما درد نکنه

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

از javaobject استفاده کنید اول کتابخونه رو تیک بزن و چهار تا متد زیر رو به اکتیویتیت اضافه کن

قبلش توی prosses_global هم این متغیرو تعیرف کن

Private ion As Object
Sub ShowPicker
   Dim i As Intent
   i.Initialize("android.intent.action.RINGTONE_PICKER", "")
   i.PutExtra("android.intent.extra.ringtone.TYPE", 1)
   StartActivityForResult(i)
End Sub


Sub ion_Event (MethodName As String, Args() As Object) As Object
   If Args(0) = -1 Then 'resultCode = RESULT_OK
     Dim i As Intent = Args(1)
     Dim jo As JavaObject = i
     Dim uri As String = jo.RunMethod("getParcelableExtra", _
       Array As Object("android.intent.extra.ringtone.PICKED_URI"))
     Log(uri)
   End If
   Return Null
End Sub

Sub StartActivityForResult(i As Intent)
   Dim jo As JavaObject = GetBA
   ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
   jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub

Sub GetBA As Object
   Dim jo As JavaObject
   Dim cls As String = Me
   cls = cls.SubString("class ".Length)
   jo.InitializeStatic(cls)
   Return jo.GetField("processBA")
End Sub

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

خیلی خیلی ممنون

فقط چجوری فایلی که انتخاب کرده رو باید بگیرم؟؟

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

تو متد ion_Event کارش مدیریت رینگتون انتخاب شده هست اونجاییی که نوشته (log(uri به جاش یه متغیر ازنوع ariasharedprefrence تعریف کن و uri رینگتون انتخابی رو سیو کن به شکل زیر میشه متدت

Sub ion_Event (MethodName As String, Args() As Object) As Object
   If Args(0) = -1 Then 'resultCode = RESULT_OK
     Dim i As Intent = Args(1)
     Dim jo As JavaObject = i
     Dim uri As String = jo.RunMethod("getParcelableExtra", _
       Array As Object("android.intent.extra.ringtone.PICKED_URI"))
	 Dim ar As AriaSharedPreferences
	 ar.SaveString("uri",uri)
   End If
   Return Null
End Sub

حالا کدهای زیر رو بین دوتا ساب از اکتیویت قرار بده (به آخر یکی از sub هات برو اینتر بزن و اینها رو وارد کن)

#if java
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import anywheresoftware.b4a.BA;
public void play(String uri){
		Uri urie = Uri.parse(uri);
		Ringtone r = RingtoneManager.getRingtone(BA.applicationContext, urie);
		r.play();
	}
#End If

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

Dim j As JavaObject
	j.InitializeContext
	Dim ar As AriaSharedPreferences
	 Dim uri As String=ar.GetString("uri","")
	j.RunMethod("play",Array As Object(uri))

موفق باشی

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

تو متد ion_Event کارش مدیریت رینگتون انتخاب شده هست اونجاییی که نوشته (log(uri به جاش یه متغیر ازنوع ariasharedprefrence تعریف کن و uri رینگتون انتخابی رو سیو کن به شکل زیر میشه متدت

Sub ion_Event (MethodName As String, Args() As Object) As Object
   If Args(0) = -1 Then 'resultCode = RESULT_OK
     Dim i As Intent = Args(1)
     Dim jo As JavaObject = i
     Dim uri As String = jo.RunMethod("getParcelableExtra", _
       Array As Object("android.intent.extra.ringtone.PICKED_URI"))
	 Dim ar As AriaSharedPreferences
	 ar.SaveString("uri",uri)
   End If
   Return Null
End Sub

حالا کدهای زیر رو بین دوتا ساب از اکتیویت قرار بده (به آخر یکی از sub هات برو اینتر بزن و اینها رو وارد کن)

#if java
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import anywheresoftware.b4a.BA;
public void play(String uri){
		Uri urie = Uri.parse(uri);
		Ringtone r = RingtoneManager.getRingtone(BA.applicationContext, urie);
		r.play();
	}
#End If

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

Dim j As JavaObject
	j.InitializeContext
	Dim ar As AriaSharedPreferences
	 Dim uri As String=ar.GetString("uri","")
	j.RunMethod("play",Array As Object(uri))

موفق باشی

 

تشکر فراوان

فقط AriaSharedPreferences برای کدوم کتابخانه است؟

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

بایگانی شده

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

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

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