Hỏi về code WPF

Chào mn ạ, e đang làm một bài tập nhỏ về media kiểu MediaPlayer. Sau khi Open file mp3 em muốn thông báo ngay thời lượng của file đó qua MessageBox. Nhưng có lúc chạy nhanh quá hệ thống chưa kịp Open file nên không lấy ra được. Em muốn hỏi là có cách nào để ép hệ thống chạy hết các lệnh phía trên rồi mới chạy tiếp không ạ? Em đã thử sleep rồi nhưng cũa có lúc k được

Trước tiên là bạn đứng ở phương diện người ngòai ko biết gì về code của bạn rồi tự đọc câu hỏi xem có hiểu mình hỏi gì ko? “ép hệ thống chậy hết các lệnh phía trên” là lệnh nào? Ko ai thấy code của bạn ra sao hết thì chỉ cách nào?
Nhưng trước tiên thì tôi thấy logic của bạn sai, đáng lẽ phải select file rồi mới cho chạy các lệnh phía sau, đằng ngày bạn đi chp chạy song song?
Tôi ko code WPF nên ko biết nó có callback function hay delegate hay ko, tôi giả sử là nó ko có luôn thì dễ nhất bạn làm vầy

fileResult = openFile() // method này trả về kiểu bool
If fileResult {
      // do something here
}
1 Like


Đại khái chỉ là open file và chạy thôi ạ, e muốn test thêm bằng việc thông báo thời lượng của bài hát. Nó cũng phát thông báo được bình thường nhưng có lúc nhanh quá nó k có file để lấy được time nên e mới hỏi thôi ạ

Bắt sự kiện khi nó mở xong và bắt đầu chạy.


Có thể là BufferingEnded hoặc MediaOpened.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?