กระทู้เก่าบอร์ด อ.Yeadram
1,309 7
URL.หัวข้อ /
URL
การเขียนcodeเพื่อสั่งให้ไฟล์วีดีโอเล่นวน
หนูเขียนCodeเพื่อเปิดไฟล์วีดีโอ ซึ่งมันจะเปิดเล่นโดย Windows Media Player
Code ดังนี้ Application.FollowHyperlink Me.Text1
สิ่งที่ต้องการคือ
เมื่อไฟล์วีดีโอเปิดเล่นแล้วจะเล่นจนจบ จากนั้นต้องการให้มันเริ่มเล่นใหม่อีกครั้ง
ความหมายคือไฟล์วีดีโอไฟล์เดียวให้เล่นวนไปเรื่อยๆ เล่นจบก็กลับมาเล่นใหม่อย่างนี้เรื่อยไป
จะต้องเขียนCodeอย่างไรคะ
Code ดังนี้ Application.FollowHyperlink Me.Text1
สิ่งที่ต้องการคือ
เมื่อไฟล์วีดีโอเปิดเล่นแล้วจะเล่นจนจบ จากนั้นต้องการให้มันเริ่มเล่นใหม่อีกครั้ง
ความหมายคือไฟล์วีดีโอไฟล์เดียวให้เล่นวนไปเรื่อยๆ เล่นจบก็กลับมาเล่นใหม่อย่างนี้เรื่อยไป
จะต้องเขียนCodeอย่างไรคะ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R17956
แก้ไข
Dim myWS As Object
Set myWS = CreateObject("WScript.Shell")
If myWS.RegRead("HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\ModeLoop") <> 1 Then
myWS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\ModeLoop", "1", "REG_DWORD"
End If
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /fullscreen " & Me.Text1, 1
3 @R17958
ขอบคุณค่ะอาจารย์
หนูจะลองเอาไปใช้ก่อนนะคะได้ผลอย่างไรจะแจ้งให้ทราบค่ะ
หนูจะลองเอาไปใช้ก่อนนะคะได้ผลอย่างไรจะแจ้งให้ทราบค่ะ
4 @R17959
สูตรของอาจารย์ที่ให้มาใช้ได้ดียอดเยี่ยมเลยค่ะ ขอบคุณค่ะ
หนูขอตั้งคำถามใหม่ค่ะ
บนForm ชื่อ F1 มีTextBox ชื่อ Text1 มีข้อมูล D:\VDO1.avi
บนForm นี้ หนูสร้าง Windows Media Player โดยใช้ เครื่องมือ ActiveX ชื่อ Player1
การใช้งาน
เมื่อคลิกที่ Text1 จะเปิดเล่นVDO (โดยWindows Media Playerที่สร้างขึ้นมาชื่อ Player1 ทันที)ตาม Path ที่อยู่ใน Text1
หนูเขียนCode ดังนี้
Me.Player1.URL = [Forms]![F1]![Text1]
มันเปิดเล่นได้บนWindows Media Playerที่สร้างขึ้นมาชื่อ Player1ค่ะ
สิ่งที่ต้องการคือ
ให้มันเล่นวนได้น่ะค่ะ(คำถามเหมือนต้นกระทู้ค่ะ แต่เปลี่ยนที่เล่นน่ะค่ะ)
จะต้องเขียนCode อย่างไรคะ
ขอบคุณค่ะ
หนูขอตั้งคำถามใหม่ค่ะ
บนForm ชื่อ F1 มีTextBox ชื่อ Text1 มีข้อมูล D:\VDO1.avi
บนForm นี้ หนูสร้าง Windows Media Player โดยใช้ เครื่องมือ ActiveX ชื่อ Player1
การใช้งาน
เมื่อคลิกที่ Text1 จะเปิดเล่นVDO (โดยWindows Media Playerที่สร้างขึ้นมาชื่อ Player1 ทันที)ตาม Path ที่อยู่ใน Text1
หนูเขียนCode ดังนี้
Me.Player1.URL = [Forms]![F1]![Text1]
มันเปิดเล่นได้บนWindows Media Playerที่สร้างขึ้นมาชื่อ Player1ค่ะ
สิ่งที่ต้องการคือ
ให้มันเล่นวนได้น่ะค่ะ(คำถามเหมือนต้นกระทู้ค่ะ แต่เปลี่ยนที่เล่นน่ะค่ะ)
จะต้องเขียนCode อย่างไรคะ
ขอบคุณค่ะ
5 @R17963
ประมาณนี้ครับ
Dim MPlayer As WindowsMediaPlayer
Set MPlayer = Player1.Object
With MPlayer
.URL = [Forms]![F1]![Text1]
.settings.setMode "Loop", True
End With
ประมาณนี้ครับ
6 @R17964
เพิ่มเติมให้อีกนิดครับ ไหนๆก็หาคำสั่งมาแล้ว
- หากต้องการซ้อนปุ่มคอนโทรลของตัว Media Player ให้เพิ่มบรรทัด uiMode ดังนี้ครับ
Dim MPlayer As WindowsMediaPlayer
Set MPlayer = Player1.Object
With MPlayer
.URL = [Forms]![F1]![Text1]
.settings.setMode "Loop", True
.uiMode = "none"
End With
- หากต้องการแสดงแบบเต็มจอ ก็ใส่โค๊ดแบบนี้ครับ
Dim MPlayer As WindowsMediaPlayer
Set MPlayer = Player1.Object
With MPlayer
.URL = [Forms]![F1]![Text1]
.settings.setMode "Loop", True
Do
DoEvents
Loop Until .playState = wmppsPlaying
.fullScreen = True
End With
- หากต้องการซ้อนปุ่มคอนโทรลของตัว Media Player ให้เพิ่มบรรทัด uiMode ดังนี้ครับ
Dim MPlayer As WindowsMediaPlayer
Set MPlayer = Player1.Object
With MPlayer
.URL = [Forms]![F1]![Text1]
.settings.setMode "Loop", True
.uiMode = "none"
End With
- หากต้องการแสดงแบบเต็มจอ ก็ใส่โค๊ดแบบนี้ครับ
Dim MPlayer As WindowsMediaPlayer
Set MPlayer = Player1.Object
With MPlayer
.URL = [Forms]![F1]![Text1]
.settings.setMode "Loop", True
Do
DoEvents
Loop Until .playState = wmppsPlaying
.fullScreen = True
End With
7 @R17966
ขอบคุณมากค่ะ
หนูทดลองใช้แล้ว เยี่ยมมาก ตรงตามต้องการเลยค่ะ
ความรู้นี้ได้แบ่งปันสำหรับเพื่อนๆที่อ่านกระทู้นี้นำไปใช้ประโยชน์ได้ค่ะ
ขอบคุณอาจารย์ และ Thai Access มากค่ะ
นี่คือแสงสว่างที่ปลายอุโมงค์
หนูทดลองใช้แล้ว เยี่ยมมาก ตรงตามต้องการเลยค่ะ
ความรู้นี้ได้แบ่งปันสำหรับเพื่อนๆที่อ่านกระทู้นี้นำไปใช้ประโยชน์ได้ค่ะ
ขอบคุณอาจารย์ และ Thai Access มากค่ะ
นี่คือแสงสว่างที่ปลายอุโมงค์
Time: 0.3492s
ประเด็นแรก:
การเรียกใช้คำสั่ง Application.FollowHyperlink เป็นการเรียกเปิดไฟล์เป้าหมายโดยให้ค่าพาธและชื่อไฟล์ไปเท่านั้น ไม่ได้ชี้เฉพาะเจาะจงไปว่าจะใช้โปรแกรมอะไรเปิดไฟล์นี้ ทั้งนี้จึงขึ้นอยู่กับตัว Windows เองว่าจะใช้โปรแกรมอะไรในการเปิดหรือเราเซ็ทโปรแกรมอะไรไว้ให้เป็นค่าเริ่มต้นของ windows ดังนั้นหากนำไฟล์ MS Access ไปใช้เครื่องอื่น ก็อยู่ที่ว่าค่าเริ่มต้นที่ตั้งไว้ใน Windows เครื่องนั้นจะตั้งให้เปิดไฟล์วีดีโอด้วยโปรแกรมอะไร ซึ่งอาจไม่ใช่ Media Player ก็ได้
แนะนำ:
หากต้องการเจาะจงกำหนดให้เปิดไฟล์วีดีโอโดยใช้โปรแกรม Media Player ให้ใช้คำสั่งดังนี้
Shell "C:\Program Files\Windows Media Player\wmplayer.exe " & Me.Text1, 1
ประเด็นสอง:
คุณต้องการให้วิดีโอเล่นวนไปเรื่อยๆ สำหรับ Media Player ให้กดที่ปุ่ม Turn Repeat On/Off แล้วโปรแกรมมันก็จะเล่นวนให้ในครั้งต่อๆไป
แต่ถ้าหากต้องการสั่งให้ Repeat ด้วยคำสั่งเลย โดยไม่ต้องกดปุ่มที่โปรแกรม Media Player เท่าที่ดู Media Player ไม่มีพารามิเตอร์สำหรับการกำหนดค่า repeat มีแต่อย่างอื่นเช่น เปิดแล้วให้ภาพเต็มจอก็ใช้ /fullscreen
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /fullscreen " & Me.Text1, 1
ดังนั้นผมว่าอาจต้องใช้การแก้รีจีสตรีของ Windows แทน (หากต้องการทำจริงๆ)
สรุป: คำสั่งทั้งหมดที่คุณต้องการจะได้ประมาณนี้ครับ
Dim myWS As Object
Set myWS = CreateObject("WScript.Shell")
If myWS.RegRead("HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\ModeLoop") <> 1 Then
myWS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\ModeLoop", "1", "REG_DWORD"
End If
Shell "C:\Program Files (x86)\Windows Media Player\wmplayer.exe /fullscreen " & Me.Text1, 1
ปรับใช้ดูครับ