می خوام تو برنامم یه لیست ویو بذارم و توی هر آیتم لیست ویو یه لینک دانلود و یه مدیا پلیر باشه که با کلیک اول روی هر آیتم لیست ویو اون لینک دانلودی که گذاشتم توی هر کدوم ، شروع به دانلود آهنگ کنه و تو یه پوشه ذخیره بشه و وقتی برای بار های بعدی روی اون آیتم کلیک می کنم اون آهنگ باز بشه
تعداد آهنگا هم تقریبا 100 تا میشه
تا اینجا پیش رفتم که اول برنامه چک می کنه که آیا اون آهنگ تو پوشه مورد نظرم وجود داره یا نه و اگه وجود داشت با مدیا پلیر پخش بشه و اگه وجود نداشت دانلود بشه و ذخیره بشه.
برای دانلود از HttpUtils2 استفاده کردم و همون جور که می دونید برای ذخیره فایل به یک ساب با نام jobDone نیاز دارم که فایلو با اسم و آدرس پوشه ای که بهش میدم ذخیره کنه ذخیره کنه اما نمیدونم چجور توی یه اکتیویتی واسه هر آیتم لیستم یه ساب JobDone بزارم. مشکلم اینه که نمی تونم این همه ساب یک شکل رو تو یه اکتیویتی جا بدم.
واقعا برای هر آهنگ باید یه اکتیویتی بسازم؟ اونجوری که صد تا اکتیویتی میشه
فک کنم باید ساب های JobDone رو توی ساب ListView1_ItemClick فراخوانی کنم درسته؟؟ که البته فراخوانی ساب رو هم بلد نیستم
خیلی گیر اینم لطفا راهنمایی کنین
اینم یه تیکه از سورس:
Sub ListView1_ItemClick (Position As Int, Value As Object)
If Value= 1 Then
If File.Exists(File.DirRootExternal&"/folder","s.mp3")=False Then
ToastMessageShow("آغاز دانلود",False)
ht.Initialize("job1",Me)
ht.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/akbari%5bwww.shirazsong.org%5d.mp3")
Else if File.Exists(File.DirRootExternal&"/folder","s.mp3")=True Then
ToastMessageShow("پخش",False)
MediaPlayer1.Initialize( )
MediaPlayer1.Load(File.DirRootExternal&"/folder","s.mp3")
MediaPlayer1.Play
End If
Else If Value=2 Then
If File.Exists(File.DirRootExternal&"/folder","a.mp3")=False Then
ToastMessageShow("آغاز دانلود",False)
ht2.Initialize("job2",Me)
ht2.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/alimi%5bwww.shirazsong.org%5d.mp3")
Else if File.Exists(File.DirRootExternal&"/folder","a.mp3")=True Then
ToastMessageShow("پخش",False)
MediaPlayer1.Initialize( )
MediaPlayer1.Load(File.DirRootExternal&"/folder","a.mp3")
MediaPlayer1.Play
End If
End If
End Sub
Sub jobDone (job1 As HttpJob,job2 As HttpJob)
If job1.Success Then
ProgressDialogHide
in1= job1.GetInputStream
ou1= File.OpenOutput(File.DirRootExternal&"/folder","s.mp3",False)
File.Copy2(in1,ou1)
in1.Close
ou1.Close
ToastMessageShow("فایل با موفقیت ذخیره شد",False)
Else
ToastMessageShow("خطا در دانلود",False)
End If
If job2.Success Then
in2= job2.GetInputStream
ou2= File.OpenOutput(File.DirRootExternal&"/folder","a.mp3",False)
File.Copy2(in2,ou2)
in2.Close
ou2.Close
ToastMessageShow("فایل با موفقیت ذخیره شد",False)
Else
ToastMessageShow("خطا در دانلود",False)
End If
End Sub
سوال
mhe9181 2
سلام خدمت دوستان
می خوام تو برنامم یه لیست ویو بذارم و توی هر آیتم لیست ویو یه لینک دانلود و یه مدیا پلیر باشه که با کلیک اول روی هر آیتم لیست ویو اون لینک دانلودی که گذاشتم توی هر کدوم ، شروع به دانلود آهنگ کنه و تو یه پوشه ذخیره بشه و وقتی برای بار های بعدی روی اون آیتم کلیک می کنم اون آهنگ باز بشه
تعداد آهنگا هم تقریبا 100 تا میشه
تا اینجا پیش رفتم که اول برنامه چک می کنه که آیا اون آهنگ تو پوشه مورد نظرم وجود داره یا نه و اگه وجود داشت با مدیا پلیر پخش بشه و اگه وجود نداشت دانلود بشه و ذخیره بشه.
برای دانلود از HttpUtils2 استفاده کردم و همون جور که می دونید برای ذخیره فایل به یک ساب با نام jobDone نیاز دارم که فایلو با اسم و آدرس پوشه ای که بهش میدم ذخیره کنه ذخیره کنه اما نمیدونم چجور توی یه اکتیویتی واسه هر آیتم لیستم یه ساب JobDone بزارم. مشکلم اینه که نمی تونم این همه ساب یک شکل رو تو یه اکتیویتی جا بدم.
واقعا برای هر آهنگ باید یه اکتیویتی بسازم؟ اونجوری که صد تا اکتیویتی میشه
فک کنم باید ساب های JobDone رو توی ساب ListView1_ItemClick فراخوانی کنم درسته؟؟ که البته فراخوانی ساب رو هم بلد نیستم
خیلی گیر اینم لطفا راهنمایی کنین
اینم یه تیکه از سورس:
Sub ListView1_ItemClick (Position As Int, Value As Object) If Value= 1 Then If File.Exists(File.DirRootExternal&"/folder","s.mp3")=False Then ToastMessageShow("آغاز دانلود",False) ht.Initialize("job1",Me) ht.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/akbari%5bwww.shirazsong.org%5d.mp3") Else if File.Exists(File.DirRootExternal&"/folder","s.mp3")=True Then ToastMessageShow("پخش",False) MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirRootExternal&"/folder","s.mp3") MediaPlayer1.Play End If Else If Value=2 Then If File.Exists(File.DirRootExternal&"/folder","a.mp3")=False Then ToastMessageShow("آغاز دانلود",False) ht2.Initialize("job2",Me) ht2.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/alimi%5bwww.shirazsong.org%5d.mp3") Else if File.Exists(File.DirRootExternal&"/folder","a.mp3")=True Then ToastMessageShow("پخش",False) MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirRootExternal&"/folder","a.mp3") MediaPlayer1.Play End If End If End Sub Sub jobDone (job1 As HttpJob,job2 As HttpJob) If job1.Success Then ProgressDialogHide in1= job1.GetInputStream ou1= File.OpenOutput(File.DirRootExternal&"/folder","s.mp3",False) File.Copy2(in1,ou1) in1.Close ou1.Close ToastMessageShow("فایل با موفقیت ذخیره شد",False) Else ToastMessageShow("خطا در دانلود",False) End If If job2.Success Then in2= job2.GetInputStream ou2= File.OpenOutput(File.DirRootExternal&"/folder","a.mp3",False) File.Copy2(in2,ou2) in2.Close ou2.Close ToastMessageShow("فایل با موفقیت ذخیره شد",False) Else ToastMessageShow("خطا در دانلود",False) End If End Subاینجا فقط واسه دو آیتم نوشتم
لینک ارسال
به اشتراک گذاری در سایت های دیگر
0 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.