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

مشکل در ذخیره سازی فیلم پس از دانلود


آوای دل

سوال

سلام دوستان عزیز ، عیدتون مبارک

 

من طبق دو آموزش زیر جلو رفتم

 

http://answercenter.ir/topic/2213-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A8%D8%A7-multi-panel/

 

http://answercenter.ir/topic/2807-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-tag-%D9%88-sender-%D8%AF%D8%B1-multi-panel/

 

 

توی دیتابیسم یه فیلد هست به نام filename  ، که می خوام فیلم پس از دانلود با نامی که به هر آیتم در این فیلد دادم ذخیره بشه ، ولی بعد که ذخیره شد فیلم را جابجا پخش میکنه پس معلوم میشه با اسم همون آیتم در filename ذخیره نشده .

 

این ها هم کد های منه :

Sub Process_Globals
	Dim sql2 As SQL
End Sub

Sub Globals
Dim vw As VideoView
Private P2 As Panel
Private panel2 As Panel
Dim ht As HttpJob

	Private Label1 As Label
	Private Btnplay As Button
	Private ScrollView1 As ScrollView
	Dim curs1 As Cursor
	Dim stop As Int = 3%y
Dim s As String

End Sub

Sub Activity_Create(FirstTime As Boolean)


Activity.LoadLayout("fbartar")
If File.Exists(File.DirInternal,"mydb.db")=False Then
File.Copy(File.DirAssets,"mydb.db",File.DirInternal,"mydb.db")
End If
sql2.Initialize(File.DirInternal,"mydb.db",False)
curs1=sql2.ExecQuery("SELECT * FROM tblbartar")

For i= 0 To curs1.RowCount-1
curs1.Position=i
Dim p As Panel
p.Initialize("p")
ScrollView1.SetBackgroundImage(LoadBitmap(File.DirAssets,"back.jpg"))
ScrollView1.Panel.AddView(p,0,stop,100%x,80%y)
stop=stop+25%y
p.LoadLayout("fpanelbartar")
Label1.Text=curs1.GetString("txt")
Btnplay.Tag=curs1.GetString("adress")
Btnplay.Text=curs1.GetString("filename")
s=curs1.GetString("filename")
Btnplay.SetTextColorAnimated(Colors.Transparent,Colors.Transparent)
ScrollView1.Panel.Height=stop
Next
ScrollView1.Panel.Height=stop+20%y
End Sub
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Btnplay_Click
  Dim az As Button
 	   az= Sender
If File.Exists(File.DirRootExternal & "/cinemakhande",az.text)=True Then
    Activity.LoadLayout("ffilm")
    vw.Initialize("vw")
	panel2.AddView(vw,0,0,panel2.Width,panel2.Height)
	vw.LoadVideo(File.DirRootExternal& "/cinemakhande",az.text)
    ToastMessageShow("درحال بارگزاری فیلم",True)
    vw.Play
	End If
If File.Exists(File.DirRootExternal& "/cinemakhande",az.text)=False Then  
       Dim m2 As MediaPlayer
       m2.Initialize
       m2.Load(File.DirAssets,"akhey.mp3")
       m2.Play
       m2.Looping=False
	   Dim c As CustomDialog
   	   Dim ppp As Panel
	   ppp.Initialize("ppp")
	   c.AddView(ppp,0,0,100%x,100%y)
	   c.Show("این فایل تاکنون دانلود نشده","دانلود","بازگشت","مشاهده آنلاین",Null)
	If c.Response=DialogResponse.POSITIVE Then
		ht.Initialize("ht",Me)
	ht.Download(az.Tag)
	End If
	   If c.Response=DialogResponse.NEGATIVE Then
	      Activity.LoadLayout("ffilm")
          vw.Initialize("vw")
	      panel2.AddView(vw,0,0,panel2.Width,panel2.Height)
	      vw.LoadVideo("http",az.tag)
	      ToastMessageShow("درحال بارگزاری فیلم",True)
	      vw.Play
	End If
End If
End Sub

Sub JobDone(Job As HttpJob)
	If Job.Success = True Then
		If File.IsDirectory(File.DirRootExternal,"cinemakhande") = False Then
			File.MakeDir(File.DirRootExternal,"cinemakhande")
		End If
		Dim i1 As InputStream
		Dim o1 As OutputStream
		i1 = Job.GetInputStream
 مشکل در خط پایین است (s)
  o1 = File.OpenOutput(File.DirRootExternal & "/cinemakhande",s,False)
		File.Copy2(i1,o1)
		i1.Close
		o1.Close
		ToastMessageShow("با موفقیت ذخیره شد",False)
	Else
		ToastMessageShow("خطا در برقراری ارتباط با سرور",False)
	End If
	
End Sub

نمیدونم منظورمو رسوندم یا نه ؟

لطفا اساتید کمک کنند

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

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

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

من کدتو نخوندم دورغ چرا اینقدر کد نوشتم خسته شدم 

ببین به نظر شما با دانلود و کش کردن مشکلی نداری 

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

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

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

که وقتی شما اولی دانلود کردی مثلا اسم اولیو بده 1 بعدی بده 2 و الی آخر 

سرچ کنی همین چیزی تو سایت هست 

سرچ کنی ذخیره سازی رندوم 

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

من کدتو نخوندم دورغ چرا اینقدر کد نوشتم خسته شدم 

ببین به نظر شما با دانلود و کش کردن مشکلی نداری 

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

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

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

که وقتی شما اولی دانلود کردی مثلا اسم اولیو بده 1 بعدی بده 2 و الی آخر 

سرچ کنی همین چیزی تو سایت هست 

سرچ کنی ذخیره سازی رندوم 

 

اولا من سرچ کردم ولی هیچی نفهمیدم

دوما کسانی که دو آموزش بالا را دیده باشن خیلی راحت میفهمن کد هام چیه ؟؟! و مشخص کردم مشکل کجاس (s)

خودم فکر کنم با 3 4خط کد کارم حل بشه 

من می خوام با نامی که به هر آیتم در فیلد filename در دیتابیس دادم ذخیره بشه  نه به صورت 1 و بعدی دو و .....

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

فک کنم مشکل شما از اینی که شما میاید برای متغیر s یه ستون در نظر میگرید بعد همونو میاید برای نام گذاری فایل های دانلود شده 

خب این وسط باید اون تیکه که میخاد نام گذاری کنه (البته به نظرم شاید اشتباه باشه ) بزار تو حلقه که هربار که دانلود میکنه با یه نام جدیدی که تو دیتابیس هست ذخیره بشه 

شاید راه راحتر هم باشه دقیق نمیدونم 

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

 

خودم مشکل رو حل کردم 

اولا که s رو کلا حذف کردم و به جاش  از Btnplay.Text استفاده کردم 

وبعد این خط  رو

o1 = File.OpenOutput(File.DirRootExternal & "/cinemakhande",s,False)

 از ساب jobdone ، به btnplay_click بعد ازانجام دانلود قرار دادم (البته قبلش o1 روی توی globals تعریف کردم )

درست شد 

 

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

دیگه نه فیلمو باز میکنه نه دانلود مجدد میشه

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

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

دیگه نه فیلمو باز میکنه نه دانلود مجدد میشه

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

کلا روند دانلود حذف کنه 

برای کمک بهتر میوتنم از سورس در روند دانلود در نوتیفکشن آقای شاهدی یا لارج دانلود که تو خود سایت اصلی استفاده کنی (البته جفتشون تقریا یکیه با اندک تفاوت )

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

فک کنم مشکل شما از اینی که شما میاید برای متغیر s یه ستون در نظر میگرید بعد همونو میاید برای نام گذاری فایل های دانلود شده 

خب این وسط باید اون تیکه که میخاد نام گذاری کنه (البته به نظرم شاید اشتباه باشه ) بزار تو حلقه که هربار که دانلود میکنه با یه نام جدیدی که تو دیتابیس هست ذخیره بشه 

شاید راه راحتر هم باشه دقیق نمیدونم 

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

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

بایگانی شده

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

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

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