ورود

View Full Version : اجرای فیلم در مدیا پلیر



sara_t
سه شنبه 28 دی 1389, 20:58 عصر
سلام بر دوستان
من یه فرم ساختم با یه مدیا پلیر و یک command که توی command button کد زیر رو نوشتم اما از خط دوم ایراد میگره چطور باید یه فایل رو بهش بفهمونم
ممنون
Private Sub command1_Click()
mm.FileName = "E:\eyrobic\CHUB\AVSEQ01.dat"

mm.Command = "open"
mm.Command = "play"
end sub
دوستان من حتی از روش زیر هم استفاده کردم اما نشد. فایل های .wav و .dat رو هم امتحان کردم اما دوباره از خط دوم ایراد میگیره
Private Sub command1_Click()
CommonDialog1.ShowOpen
WindowsMediaPlayer1.URL = CommonDialog1.FileName

End Sub

www.pc3enter.tk
سه شنبه 28 دی 1389, 23:38 عصر
Private Sub command1_Click()
CommonDialog1.ShowOpen
WindowsMediaPlayer1.URL = CommonDialog1.FileName

End Sub

من در کامپیوتر خودم تست کردم جواب داد

ببین در مدیا پلیر خودت می تواند به طور عادی فیلم پخش کند یا نه

sara_t
چهارشنبه 29 دی 1389, 06:49 صبح
ممنون
برای اینکه برنامه به درستی کار کنه باید فیلتر در commondialog رو تعیین کنیم.(اشکال کار من اینجا بود!!)

میخاستم بدونم اگه بخام چند تا اهنگ رو با هم انتخاب کنم نمیشه؟
چون صفحه ای که باز میشه فقط حق انتخاب یه اهنگ رو به من میده؟؟

sara_t
چهارشنبه 29 دی 1389, 09:17 صبح
دوستان من برنامه رو تا اینجا جلو بردم و الان مالتی سلکت دارم اما نمیدونم چطور میتونم اینا رو اجرا کنم چون اجرا نمیشن؟
cd1.ShowOpen
cd1.Flags = cdlOFNExplorer Or cdlOFNAllowMultiselect Or cdlOFNHideReadOnly Or cdlOFNHideHelpButtonOn


w.URL = cd1.FileName

parselearn
چهارشنبه 29 دی 1389, 12:41 عصر
جستجو...
كليد واژه: cdlOFNAllowMultiselect (http://www.google.com/search?q=cdlOFNAllowMultiselect&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a)



Dim sFileNames() As String
CommonDialog1.FileName = ""
List1.Clear
CommonDialog1.Flags = cdlOFNExplorer Or cdlOFNAllowMultiselect Or cdlOFNHideReadOnly Or cdlOFNHideHelpButtonOn
CommonDialog1.ShowOpen
sFileNames = Split(CommonDialog1.FileName, vbNullChar)
For i = 0 To UBound(sFileNames)
List1.AddItem sFileNames(i)
Next i

sara_t
چهارشنبه 29 دی 1389, 14:32 عصر
بسیار ممنون. فکر میکنم من بد توضیح دادم.
Private Sub Command1_Click()
Dim strFiles() As String 'array to hold the split files
Dim intCnt As Integer ' count of array elements
Dim Cnt As Integer ' used to index through the array
Dim sep As String 'delimiter character
Dim a As String
sep = Chr(0) 'define a null seperator
cd.Flags = cd.Flags Or cdlOFNExplorer Or cdlOFNAllowMultiselect Or cdlOFNHideReadOnly Or cdlOFNHideHelpButtonOn '&H80000 Or &H200 'use long filenames
cd.ShowOpen
Debug.Print (cd.FileName)
strFiles = Split(cd.FileName, sep)
intCnt = UBound(strFiles)
For Cnt = 1 To intCnt
w.URL = strFiles(Cnt)
Next Cnt
End Sub
من این کد رو نوشتم.
موردی که شما بهش اشاره کردید مالتی سلکت هست که من اونو نوشتم. کد شما تمام مواردی رو که انتخاب میکنیم تو یه لیست مینویسه.
اما من میخام این فایل ها رو پشت سر هم توی مدیا پلیر اجرا کنه اما برنامه من فقط فایل اخر رو اجرا میکنه در واقع یابد جوری اون رو کنترل کرد که فایل های قبل از اخز رو رد کنه اول play کنه وقتی تمام شد بره سراغ موزیک یا فیلم بعدی مثه مدیا پلیر ویندوز.
سرچ هم کردم اما موردی که به درد اینکار بخوره پیدا نکردم ممنون میشم کمک کنید

ali.rezaei7
پنج شنبه 30 دی 1389, 20:10 عصر
من این کد رو نوشتم.
موردی که شما بهش اشاره کردید مالتی سلکت هست که من اونو نوشتم. کد شما تمام مواردی رو که انتخاب میکنیم تو یه لیست مینویسه.
اما من میخام این فایل ها رو پشت سر هم توی مدیا پلیر اجرا کنه اما برنامه من فقط فایل اخر رو اجرا میکنه در واقع یابد جوری اون رو کنترل کرد که فایل های قبل از اخز رو رد کنه اول play کنه وقتی تمام شد بره سراغ موزیک یا فیلم بعدی مثه مدیا پلیر ویندوز.
سرچ هم کردم اما موردی که به درد اینکار بخوره پیدا نکردم ممنون میشم کمک کنید درود. خود كامپوننت WindowsMdiaPlayer تنها توانايي اجراي يك فايل رو داره، كه اون رو بوسيله ويژگي URL تنظيم مي كنيم. براي اجراي چند آهنگ بايد با برنامه نويسي اينكارو انجام بديد. براي اينكار ابتدا بايد عنوان فايل هاي انتخاب شده توسط كاربر، وارد ليست شوند و مسير فايل ها داخل يك متغير عمومي قرار بگيرند، بعد از آن زماني كه كاربر فايلي رو براي پخش از ليست انتخاب مي كنه، نام فايل با مسير فايل كه داخل يك متغير عمومي قرار داره، ادغام مي شن و اين مقدا رو داخل ويژگي URL قرار ميديم تا پخش بشه.

نمونه كد:

Private Sub List1_DblClick()
WindowsMediaPlayer1.URL = FilesPath & List1.Text
WindowsMediaPlayer1.controls.play
End Sub
در كد بالا زماني كه كاربر روي يكي از گزينه هاي ليست دابل كليك مي كنه، نام فايل انتخاب شده از ليست با مسير فايل ها كه در انيجا در متغير FilesPath نگه داري شده ادغام مي شه و آهنگ انتخاب شده، پخش مي شود.

براي پخش اتوماتيك آهنگ بعدي بعد ازپايان آهنگ فعلي، به رويدادي نياز داريم تا تغييرات بوجود آمده در وضعيت رسانه فعلي رو تحت پوشش قرار بده. مي تونيم از رويداد PlayStateChange استفاده كنيم. اين رويداد زماني اجرا مي شه كه رسانه فعلي Stop شه، Pause شه، آماده براي پخش باشه، ... و به انتهاي آهنگ فعلي رسيده باشيم. كد زير آهنگ بعدي رو در زماني كه رسانه فعلي به انتها رسيده باشد رو بصورت خودكار اجرا مي كنه:


Private Sub Wmp_PlayStateChange(ByVal NewState As Long)

If NewState = WMPPlayState.wmppsMediaEnded Then

If List1.ListIndex < List1.ListCount - 1 Then List1.ListIndex = List1.ListIndex + 1 Else List1.ListIndex = 0

WindowsMediaPlayer1.URL = FilesPath & List1.Text
WindowsMediaPlayer1.Controls.play

End If

End Subاين رويداد پارامتري بنام NewState داره كه وضعيت جديد رسانه، در داخلش نگه داري مي شه. اگه وضعيت جديد WMPPlayState.wmppsMediaEnded باشه، يعني رسانه فعلي به انتها رسيده. در اين صورت گزينه بعدي در كنترل ليست انتخاب و پخش مي شه.