HOME-Au
HOME-Au
24h
24h
USA
USA
GOP
GOP
Phim Bộ
Phim Bộ
Videoauto
VIDEO-Au
Donation
Donation
News Book
News Book
News 50
News 50
worldautoscroll
WORLD-Au
Breaking
Breaking
 

Go Back   VietBF > Others (Closed Forums) > Archive - Old News 2005-2011 (closed)

 
Thread Tools
 
 
Default Lỗi chức năng Repeat của chương tŕnh nghe nhạc
Old 09-06-2011   #1
Romano
R11 Tuyệt Thế Thiên Hạ
 
Join Date: May 2007
Posts: 140,649
Thanks: 9
Thanked 6,621 Times in 5,566 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 38 Post(s)
Rep Power: 176
Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10
Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10
Một bạn đọc đă xây dựng chương tŕnh nghe nhạc bằng Visual Basic 6.0. Chương tŕnh chạy được nhưng chức năng Repeat bị lỗi, không thể phát lặp lại được.

Cụ thể bạn đọc đă xây dựng chương tŕnh và các đoạn mă theo quy tŕnh như sau: Tạo Project mới loại "Standard EXE". Chọn menu Project.Components để hiển thị cửa sổ Components. Duyệt t́m và đánh dấu chọn vào 2 mục "Windows Media Player" và "Microsoft Common Dialog Controls 6.0" để "add" 2 điều khiển phục vụ chơi multimedia và duyệt hệ thống file vào Project. Chọn menu Tools.Menu Editor để chạy tiện ích thiết kế menu bar rồi thiết kế menubar cho Form ứng dụng gồm 1 menu pop-up có caption là File, trong menu pop-up này chứa 4 option lần lượt là mnuOpen, mnuPlay, mnuRepeat, mnuExit. Thiết kế Form ứng dụng gồm có 1 listbox có tên mặc định là List1, 1 Timer có tên mặc định là Timer1, 1 CommonDialog có tên mặc định là CommonDialog1, 1 WMP có tên là Media (vị trí của Timer và CommonDialog không quan trọng v́ 2 đối tượng này sẽ bị ẩn khi ứng dụng chạy). Dời chuột về từng option menu và chọn nó để tạo thủ tục xử lư sự kiện click chuột của option tương ứng rồi viết code hiện thực. Chi tiết vấn đề này, mời quư bạn đọc tham khảo tại http://forum.pcworld.com.vn/default.aspx?g=posts&t=7358
Chúng tôi đă kiểm tra chương tŕnh của bạn và t́m ra một số lỗi cũng như một số chi tiết chưa đúng như sau:
1. Bạn có dùng timer với thời gian đếm nào đó (chúng tôi thiết lập 1 giây), khi timer đếm xong thời gian qui định th́ thủ tục Timer1_Timer() sẽ được kích hoạt, thủ tục này kiểm tra xem hết bài hát chưa, nếu hết th́ chuyển sang bài kế tiếp trong danh sách. Đây là nguyên nhân làm chức năng Repeat hoạt động không chính xác. Lư do là bạn miêu tả điều kiện hết bài hát là khi c̣n ít hơn hay bằng 1 giây, điều kiện này không chính xác. Hơn nữa chế độ Repeat cũng như playlist mà bạn thiết lập cho WMP không c̣n tác dụng nữa (do bạn thiết lập lại từng bài hát trong thủ tục Timer1_Timer).
Cách giải quyết là xóa bỏ Timer và thủ tục Timer1_Timer(), để WMP tự hoạt động theo chế độ Repeat mà bạn thiết lập trong thủ tục mnuRepeat_Click().
2. Trong thủ tục mnuPlay_Click(), bạn chuyển danh sách bài hát từ ListBox sang WMP mà không xóa nội dung playlist có sẵn trong WMP, như vậy nếu người dùng chọn nhiều lần option Play th́ mỗi bài hát trong listbox sẽ được thêm vào playlist của WMP nhiều lần, điều này là không cần thiết và dễ làm mất sự kiểm soát của chương tŕnh.
Cách khắc phục là thêm lệnh xóa nội dung playlist hiện có trong WMP trước khi chuyển danh sách bài hát từ Listbox sang WMP. Cụ thể thủ tục mnuPlay_Click được hiệu chỉnh lại như sau:
'thủ tục xử lư option Play
Private Sub mnuPlay_Click()
'định nghĩa các biến cần dùng trong thủ tục
Dim i As Integer
Dim MyPlaylist As IWMPPlaylist
Dim MyMedia As IWMPMedia
Set MyPlaylist = Me.Media.currentPlay list
'xóa nội dung hiện có của Playlist
MyPlaylist.Clear
'chuyển các file từ Listbox vào Playlist
For i = 0 To List1.ListCount - 1
Set MyMedia = Me.Media.newMedia(Li st1.List(i))
MyPlaylist.appendIte m MyMedia
Next
Media.currentPlaylis t = MyPlaylist
'tô chọn bài đầu tiên trong ListBox
List1.ListIndex = 0
End Sub
3. Tương tự, trong thủ tục mnuOpen_Click(), bạn chuyển danh sách các file từ cửa sổ CommonDialog sang Listbox mà không xóa nội dung có sẵn trong Listbox, như vậy nếu người dùng chọn nhiều lần option Open th́ listbox sẽ tích lũy dần rất nhiều file bài hát, các file này có thể trùng nhau, điều này là không cần thiết và dễ làm mất sự kiểm soát của chương tŕnh.
Cách khắc phục là thêm lệnh xóa nội dung Listbox trước khi chuyển danh sách file bài hát từ CommonDialog sang Listbox. Cụ thể bạn nên thêm lệnh sau vào đầu thủ tục mnuOpen_Click():
'xóa nội dung hiện có của Listbox
List1.Clear
4. Việc tô đậm tên file bài hát trong Listbox đồng bộ với bài hát mà WMP đang chơi sẽ được thực hiện trong thủ tục xử lư sự kiện MediaChange của WMP. Cụ thể bạn hăy viết thêm thủ tục xử lư sự kiện MediaChange như sau:
'thủ tục xử lư sự kiện chuyển bài hát
Private Sub Media_MediaChange(By Val Item As Object)
'định nghĩa các biến cần dùng trong thủ tục
Dim MyMedia As IWMPMedia
Dim i As Integer, pos As Integer
Dim sbuf As String
Dim lbuf() As String
Set MyMedia = Item
'duyệt t́m file đang hát
For i = 0 To List1.ListCount - 1
'đổi pathname thành nhiều thành phần
lbuf = Split(List1.List(i), "\")
'xác định tên file bài hát
sbuf = lbuf(UBound(lbuf))
'xác định tên bài hát (bỏ phần mở rộng)
pos = InStr(1, sbuf, ".")
If pos <> 0 Then
sbuf = Mid(sbuf, 1, pos - 1)
End If
If MyMedia.Name = sbuf Then
'nếu bài đang hát là bài i trong Listbox th́ tô đậm nó
List1.ListIndex = i
Exit For
End If
Next
End Sub
Nếu bạn hiệu chỉnh lại các chi tiết nêu trên th́ ứng dụng sẽ chạy tốt, nó sẽ chơi lặp lại hay không tùy thuộc vào option Repeat có được chọn hay không. Mỗi lần hát bài mới. Listbox sẽ tô đậm tên file bài hát ấy cho người dùng tiện theo dơi.
Romano is_online_now  
Attached Thumbnails
Click image for larger version

Name:	visualbasicpic.jpg
Views:	15
Size:	144.5 KB
ID:	314984  
 
User Tag List


Thẻ vàng của Trump ế nặng ! Chỉ có một người mua, mà vị khách này có thể là gian thương của Trung Cộng Đạo luật Quyền hạn Chiến tranh Việt Nam 60 Ngày Sinh Tử: Canh Bạc "Vượt Rào" Của Trump Thăng trầm hậu trường chính trị: Hùng Cao và danh hiệu "Kẻ thất bại" đầy tranh căi trong chính quyền Trump
Tị nạn Cộng Sản mà lại chuyển tiền về VN, du lịch, mua nhà .. sẽ bị tước quốc tịch Mỹ, Khi tin đồn làm dậy sóng ... Nhà Trắng hay Ṭa Bạch Ốc? Cuộc hành tŕnh từ tên gọi dân gian đến biểu tượng chính trị toàn cầu Kinh tế Mỹ "gió rít qua khe cửa": Niềm tin tiêu dùng chạm đáy lịch sử giữa bóng ma chiến tranh
"Gương vỡ lại lành" hay Cuộc đối đầu lịch sử? Khi Donald Trump lần đầu dự tiệc tối Hiệp hội Phóng viên Nhà Trắng "Sóng dữ" tạm yên tại Cục Dự trữ Liên bang: Khi Jerome Powell thoát "án" và cánh cửa cho Kevin Warsh rộng mở Những chuyện hài hước nhất hôm nay +139 videos
HẬU DUỆ VNCH VIẾT NÊN LỊCH SỬ TẠI HOA KỲ: KHI KHIÊM NHƯỜNG LÀ SỨC MẠNH QUANG PHỤC QUÊ HƯƠNG Sức mạnh răn đe vô tiền khoáng hậu: Bộ ba "Pháo đài bay" Mỹ cùng lúc hội quân tại Trung Đông Những chuyện hài hước nhất hôm nay +112 videos
Chảo lửa Hormuz: Mỹ lên kế hoạch "đ̣n sấm sét" nếu thỏa thuận ngừng bắn sụp đổ Hiệu ứng cánh bướm từ Eo biển Hormuz: Khi châu Á "hắt hơi", nước Mỹ liệu có "sổ mũi"? Khi quyền lực không thể che lấp tội ác: Toàn cảnh vụ xét xử Rodrigo Duterte tại Ṭa án H́nh sự Quốc tế
Đồng tiền xương máu và canh bạc 400 ngh́n đô: Đặc nhiệm Mỹ "sa lưới" v́ đặt cược vào vụ bắt giữ Tổng thống Maduro Hoa Kỳ tước 400 quốc tịch Mỹ, liệu có Việt Cộng trong đó? Kỳ Tích Giữa Đời Thường: Người Phụ Nữ Chiến Thắng "Án Tử" Ung Thư Tụy Nhờ Vũ Khí mRNA Từng Cứu Thế Giới
Nội bộ Mỹ rạn nứt v́ chiến tranh Iran: Joe Kent từ chức, phong trào MAGA chia đôi, Nhà Trắng phản pháo dữ dội Tehran xác nhận Ali Larijani tử trận: “cột trụ” sụp đổ Israel “chặt đầu rắn”: Ali Larijani và lực lượng Basij bị tuyên bố tiêu diệt – Iran rơi vào cú sốc
Mỹ – Iran bước vào thế “đánh rồi tính sau” Chuyện hài Hàn Cộng: Khi giấc mộng xóa bỏ Bắc Triều vẫn ám ảnh Washington Mỹ mà thua Iran th́ toàn dân, toàn quân Việt Cộng chỉ có con đường chết đói bo bo
Trump gây sức ép toàn cầu mở lại eo Hormuz, chuyến thăm Trung Quốc có thể bị hoăn – NATO và đồng minh vẫn đứng ngoài Đức phản bác Trump: “Đây không phải là cuộc chiến của NATO” – Châu Âu chia rẽ trước khủng hoảng eo Hormuz Trump gây sức ép với Trung Quốc trước thềm thượng đỉnh Bắc Kinh: muốn mở eo Hormuz trước khi nói chuyện
5 vạn quân Mỹ áp sát Iran, bùng nổ đại chiến kinh hoàng tại Trung Đông, “Khi gió chiến tranh nổi lên, không ai biết cát sa mạc sẽ bay về đâu.” Iran xác nhận Giáo Chủ đă chết, 96 vạn quân Iran như rắn mất đầu Qatar và Emirates Airways, Dubai–Doha tê liệt, 1.800 chuyến bay bị hủy, hành khách mắc kẹt khắp nơi
Ông Trump xác nhận Giáo Chủ Iran đă chết, hàng loạt tướng tử vong, 30 vạn quân Iran đào ngũ tháo chạy khắp nơi, binh bại như núi đổ Iran ‘tắt sóng’ 99% sau không kích: internet gần như biến mất, dân Tehran đổ xô tích trữ, xếp hàng mua xăng Mỹ tổng tấn công Iran
Ghế Thủ Tướng “Đổi Gió”? Khi Lê Minh Hưng Không C̣n Đi Trên Thảm Đỏ Và “Thắng Đen” Trỗi Dậy Bốn Thượng Tướng Bộ Quốc Pḥng Nghỉ Công Tác Từ 1/3: “Hạ Cánh An Toàn” Và Một Vết Nhơ Ở Seoul? Fan MAGA một ḿnh giữa phố Bolsa: Câu chuyện tự do ngôn luận và ‘độ nóng’ của chính trị cộng đồng”

 

iPad Videos Portal Autoscroll

VietBF Music Portal Autoscroll

iPad News Portal Autoscroll

VietBF Homepage Autoscroll

VietBF Video Autoscroll Portal

USA News Autoscroll Portall

VietBF WORLD Autoscroll Portal

Video Classic Master Page

Super Widescreen

iPad World Portal Autoscroll

iPad USA Portal Autoscroll

Phim Bộ Online
Lên đầu Xuống dưới Lên 3000px Xuống 3000px

Tin nóng nhất 24h qua

Tin nóng nhất 3 ngày qua

Tin nóng nhất 7 ngày qua

Tin nóng nhất 30 ngày qua

Albums

Total Videos Online

Tranh luận sôi nổi nhất 7 ngày qua

Tranh luận sôi nổi nhất 14 ngày qua

Tranh luận sôi nổi nhất 30 ngày qua

10.000 Tin mới nhất

Tin tức Hoa Kỳ

Tin tức Công nghệ
Lên đầu Xuống dưới Lên 3000px Xuống 3000px

Duo Series Movies Portal

Duo Music Portal

Phim Bộ

Tỷ Giá

Thời Tiết

Tin Nóng Nhất 50h

Super News

School Cooking Traveling Portal

Enter Portal

Series Shows and Movies Online

Home Classic Master Page

Donation Ủng hộ $3 cho VietBF
Lên đầu Xuống dưới Lên 3000px Xuống 3000px
Diễn Đàn Người Việt Hải Ngoại. Tự do ngôn luận, an toàn và uy tín. V́ một tương lai tươi đẹp cho các thế hệ Việt Nam hăy ghé thăm chúng tôi, hăy tâm sự với chúng tôi mỗi ngày, mỗi giờ và mỗi giây phút có thể. VietBF.Com Xin cám ơn các bạn, chúc tất cả các bạn vui vẻ và gặp nhiều may mắn.
Welcome to Vietnamese American Community, Vietnamese European, Canadian, Australian Forum, Vietnamese Overseas Forum. Freedom of speech, safety and prestige. For a beautiful future for Vietnamese generations, please visit us, talk to us every day, every hour and every moment possible. VietBF.Com Thank you all and good luck.

Lên đầu Xuống dưới Lên 3000px Xuống 3000px

All times are GMT. The time now is 10:51.
VietBF - Vietnamese Best Forum Copyright ©2005 - 2026
User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.
Log Out Unregistered

Page generated in 0.12332 seconds with 15 queries