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

پخش قسمتی از موزیک


taha1371

سوال

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

وقتی روی باتون اول کلیک شد از 0تا 20 ثانیه اول پخش بشه 

اگه روی باتون دوم کلیک شد از 22تا ثانیه 43بخش بشه 

و اگه رویه سوم کلیک از 50 تا 63 پخش بشه تقریبا میخوام اهنگ کات بشه ولی یه فایل باشه

 

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

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

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

سلام

مدیا پلیر رو تعریف و لود کنید و بعد تو قسمت باتون کلیک اول اهنگ رو پخش کنید و سپس  media.Position = 22000 این کار کنید و بعد از این یک شرط بزارید که اگر media.Position = 44000 شد بیاد مدیا پلیر رو استوپ کنه

موفق باشید

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

 

در 11 دقیقه قبل، alimo1999 گفته است :

سلام

مدیا پلیر رو تعریف و لود کنید و بعد تو قسمت باتون کلیک اول اهنگ رو پخش کنید و سپس  media.Position = 22000 این کار کنید و بعد از این یک شرط بزارید که اگر media.Position = 44000 شد بیاد مدیا پلیر رو استوپ کنه

موفق باشید

متوجه نشدم میشه کد بدین

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

بنظرم همونطور که دوستمون گفتن خیلی ساده هستش. یه نگاه به متد های مدیا پلیر و مثال خود سایت اصلی بندازید.

Android Tutorial - MediaPlayer tutorial | B4X Community - Android, iOS, desktop, server and IoT programming tools

B4A - Media Player (Core)

فقط مدیا پلیر چون رویداد و اونتی نداره که تغییر پوزیشن رو نشون بده خودتون باید یک تایمر بزارید.

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

داخل تایمر می تونید مثلا هر 100 یا 50 میلی ثانیه پوزیشن اون رو چک کنید و اگه از زمان مورد نظر عبور کرده بود اون رو متوقف کنید.

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

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

در ۱ ساعت قبل، rasool.g گفته است :

داخل تایمر می تونید مثلا هر 100 یا 50 میلی ثانیه پوزیشن اون رو چک کنید و اگه از زمان مورد نظر عبور کرده بود اون رو متوقف کنید.

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

اگه مشکلی نیست لطف میکنید کد بدین 

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

در در 1396/10/15, 12:19:17، rasool.g گفته است :

داخل تایمر می تونید مثلا هر 100 یا 50 میلی ثانیه پوزیشن اون رو چک کنید و اگه از زمان مورد نظر عبور کرده بود اون رو متوقف کنید.

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

(داخل تایمر می تونید مثلا هر 100 یا 50 میلی ثانیه پوزیشن اون رو چک کنید و اگه از زمان مورد نظر عبور کرده بود اون رو متوقف کنید.)

اینو متوجه نشدم میشه بگید چکار کنم

 

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

Sub Process_Globals
	Dim MP As MediaPlayer
	Dim t1 As Timer
End Sub

Sub Globals
	Dim ts,ofs As Long
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Dim btn As Button
	btn.Initialize("btn")
	btn.Text = "play"
	Activity.AddView(btn,0,0,100%x,20%y)

	ts = 60
زمان شروع پخش به ثانیه
	ofs = 10
مدت پخش به ثانیه
در اینجا از ثانیه 60 تا 70 پخش میشه
	
	t1.Initialize("t1",250) 
تنظیم تایمر برای 250 میلی ثانیه یعنی 4 تیک در ثانیه

	If FirstTime Then
		MP.Initialize2("MP")
	End If
	
End Sub

Sub Activity_Resume
	
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub btn_Click
	If MP.IsPlaying = False Then
		MP.Load(File.DirAssets, "1.mp3")
		MP.Position = (ts * 1000)
		MP.Play
	
		t1.Enabled = True
	End If	
End Sub

Sub btn_LongClick
	'قطع اهنگ به صورت دستی
	MP.Stop
	t1.Enabled = False
End Sub

Sub MP_Complete
	t1.Enabled = False
End Sub

Sub t1_Tick
	If MP.Position > ((ts + ofs) * 1000) Then
		t1.Enabled = False
		MP.Stop
	End If
End Sub

همه چی به میلی ثانیه هستش برای همین در 1000 ضرب شده

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

ممکنه اهنگ چند دهم ثانیه دیر تر قطع بشه که فکر نکنم مهم باشه

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

بایگانی شده

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

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

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