می خوام تو برنامم یه لیست ویو بذارم و توی هر آیتم لیست ویو یه لینک دانلود و یه مدیا پلیر باشه که با کلیک اول روی هر آیتم لیست ویو اون لینک دانلودی که گذاشتم توی هر کدوم ، شروع به دانلود آهنگ کنه و تو یه پوشه ذخیره بشه و وقتی برای بار های بعدی روی اون آیتم کلیک می کنم اون آهنگ باز بشه
تعداد آهنگا هم تقریبا 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 فراخوانی کنم درسته؟؟ که البته فراخوانی ساب رو هم بلد نیستم
خیلی گیر اینم لطفا راهنمایی کنین
اینم یه تیکه از سورس:
اینجا فقط واسه دو آیتم نوشتم
لینک ارسال
به اشتراک گذاری در سایت های دیگر
0 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.