هل من ناصر ینصرنی؟؟؟!! خطای java.lang.RuntimeException: Object should first be initialized (Cursor). موقع کامپایل
خطای
java.lang.RuntimeException: Object should first be initialized (Cursor)
دلیلش چی هست؟؟ لطفا راه حلش رو ارائه بفرمائید. تشکر
من میخوام فایل های صوتی برنامم رو با کلیک روی هر کدام از عناوین مخصوص به خودشون پخش کنم. همه راه حل ها برای اجرای یک فایل صوتی هست ولی بنده چندین فایل صوتی دارم که باید در لیست ویو، به ترتیب اجرا بشند.
این صفحه ای که قراره صداها اجرا بشند. ببینید اشکال کار کجاست لطفا 🙂
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ ۶۸ ۶۹ ۷۰ ۷۱ ۷۲ ۷۳ ۷۴ |
#Region Activity Attributes #FullScreen: False #IncludeTitle: false #End Region Sub Process_Globals Dim MediaPlayer As SimpleExoPlayer Dim timer2 As Timer End Sub Sub Globals Dim Button1 As Button Dim Button2 As Button Dim SeekBar As SeekBar Dim barVolume As SeekBar Dim lbltime As Label Dim ListView1 As ListView Dim fara As Farakhani End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout2") If FirstTime Then timer2.Initialize("timer2",۵۰۰) timer2.Enabled=True End If Main.cursor=Main.sql.ExecQuery("SELECT * FROM Fehrest") For i=۰ To Main.cursor.RowCount-۱ Main.cursor.Position=i ListView1.AddSingleLine(Main.cursor.GetString("Soorehha_1")) Next Main.cursor.Close fara.initialize("data.db","Fehrest",True) MediaPlayer.Initialize("MediaPlayer") End Sub Sub Activity_Resume MediaPlayer.Play End Sub Sub Activity_Pause (UserClosed As Boolean) MediaPlayer.Pause End Sub SeekBar.Value=MediaPlayer.Position/MediaPlayer.Duration*۱۰۰ lbltime.Text=ConvertToTimeFormat(MediaPlayer.Position) End Sub Sub ConvertToTimeFormat(ms As Int) As String Dim seconds, minutes As Int seconds = Round(ms/۱۰۰۰) minutes = Floor(seconds/۶۰) seconds = seconds Mod ۶۰ Return NumberFormat(minutes,۱,۰)&":"&NumberFormat(seconds,۲,۰)'ex: 3:05 End Sub Sub barVolume_ValueChanged (value As Int, UserChanged As Boolean) End Sub Sub SeekBar_ValueChanged (value As Int, UserChanged As Boolean) If UserChanged Then MediaPlayer.Position = value/100*MediaPlayer.Duration'the value was changed programmatically timer2_Tick 'immediately update the progress label End Sub Sub Looping_CheckedChange(Checked As Boolean) End Sub Sub Button1_Click Log("پخش انتخاب شد") MediaPlayer.Play timer2_Tick 'immediately update the progress label End Sub Sub Button2_Click Log("توقف انتخاب شد") MediaPlayer.Pause End Sub Sub ListView1_ItemClick (Position As Int, value As Object) Log("position:"&Position&"-value:"&value) Dim Soorehha As String Dim Seda As String Soorehha = fara.FarakhaniString("ID",Soorehha,"Soorehha_1") Seda = fara.FarakhaniString("ID",Seda,"Seda_1") MediaPlayer.CreateFileSource(File.DirAssets,Seda) MediaPlayer.Play End Sub |
پاسخ ها ( 3 )
سلام
در لینک زیر آموزش کار با Mediaplayer را قرار دادیم که میتونید مطالعه کنید:
آموزش برنامه نویسی اندروید با B4A – قسمت دوازدهم(کار با MediaPlayer)
در آموزش بالا یک فایل صوتی را پخش کردیم، ولی اگه میخواید چند فایل صوتی پخش کنید به صورت زیر عمل کنید:
حالا هر چند تا آهنگ که دارید؛ به همون اندازه چند تا دکمه ایجاد کنید و بری هر دکمه کد زیر رو بنویسید:
آهنگی با پسوند و نام beporsam.wav در پوشه Files برنامه کپی کردیم.
حالا شما برای مثال ۱۰ تا آهنگ دارید، ۱۰ تا هم دکمه ایجاد میکنید، توی رویداد کلیک هر دکمه کد بالا رو بنویسید، با این تفاوت که نام آهنگ + پسوند رو باید عوض کنید.
این یکی از راهکارهایی هست که میشه انجام داد برای پخش چند فایل صوتی در برنامه.
موفق باشید.
سلام” خیلی ممنون که پاسخ دادین. اما من همه عناوین صدا (۱۰۰ عنوان)رو از داخل دیتابیس فراخوان کردم و در لیست ویو به نمایش دراومده. پس دکمه ای در کار نیست. در این مورد چه نظری دارید؟ 🙂
آیا می شه در یک خط کد مشخص کنیم فلان صوت برای چه عنوانی هست و فقط همون رو اجرا کنه؟؟
قبلا در سایت پاسخ داده شده؛ سورس موجود در پرسش زیر را دانلود و بررسی کنید.
متن همراه با صوت در بیسیک فور اندروید
سورس برنامه
ممنون می شم یه نگاهی بندازید. ببینید ایراد کار کجاست که اجرا نمی کنه. فقط یه دونه فایل صوتی پیوست کردم تا حجم آپلود و دانلود بالا نره. ولی شما روی ۱۰۰ تا فایل صوتی حساب کنید.
دوست عزیز همون سورسی که خدمتتون دادم رو بررسی کنید …
طبق سورس، کدها رو به پروژتون اضافه کنید
همه رقم امتحان کردم نشد. من ۰ کیلومترم آخه. همینم با مکافات رسیده به اینجا 🙁