mình đã làm thử nhưng không được .Nó báo lỗi The type or namespace name 'Media' does not exist in the class or namespace 'System' (are you missing an assembly reference?)
Cứ mỗi lần mở Windows lên, tức thì có âm thanh chào mừng đưa ta vào 1 phiên làm việc (căng thẳng). Dựa trên sự việc này, mình nghĩ là phải làm 1 cách nào đó để phát ra âm thanh khi mở 1 ứng dụng. Ngồi mày mò + tham khảo trên mạng, mình đã tìm ra cách làm này, nay post lên xin chia sẻ cùng anh em đang học c#
- Bước 1: tạo project dạng Windows Forms
- Bước 2: Double click chuột vào thanh tiêu đề (tittle bar) của Form để bắt đầu thụ lý tình huống Load của nó.
Xong, bây giờ bạn nhớ vặn loa lên nhé, sau đó nhấn F5 để nghe được âm thanh chào mừng khi mình đăng nhập Windows XPVisual C# Code:
{ // khởi tạo đối tượng sp, tham chiếu đến đường dẫn C:\WINDOWS\MEDIA nơi có chứa file wav // bộ khởi tạo này chỉ thao tác với file wav // nếu không tồn tại tập tin wav, sẽ báo lỗi! System.Media.SoundPlayer sp = new System.Media.SoundPlayer(@"C:\WINDOWS\MEDIA\Windows XP Startup.wav"); // cho phát âm thanh từ file wav đã được tham chiếu tới sp.Play(); //lưu ý: sp.PlayLooping() --> chơi liên tục, lặp lại á }
Thế là chỉ với 1 thủ thuật nhỏ, chúng ta đã có 1 lời chào mừng không gì tuyệt hơn cho ứng dụng của mình.
Chúc các bạn thành công!
mình đã làm thử nhưng không được .Nó báo lỗi The type or namespace name 'Media' does not exist in the class or namespace 'System' (are you missing an assembly reference?)
Nghèo mà có T... thì cao quý hơn
Cái này đã được kiểm chứng rồi, Cậu coi lại thử nào ?
Thử test với :
using namespace system.media
soundplayer t = new soundplayer();
Cho Mình hỏi chút ha , nếu mình muốn file sound đó luôn chạy cùng chương trình thì mình phải làm sao ?
+ Nếu mình add file sound đó vào Resx của chương trình thì mình gọi như thế nào ?
làm sao để cho chạy được MP3 hoặc wma được vậy bạn
thanks nhiều
Mình đang ở tiệm nên không code giúp bạn được, đây là hướng dẫn trong MFC từ codeproject bạn đọc thử nhé :
Help Text Code:
1) Resource->New->NewType 2) Type in "ID_SOUND" or "ID_WAVE". 3) If you type yes for creating a resource id make sure you have access to that symbol. For now press No. 4) Resource->New and choose "SOUND" resource type. This will bring up a text editor. Edit the text to look similar to the syntax mentioned in the section above. NOTE: Wave files usually takes a lot of memory which means you might have very large resource files. Now, let us examine how to access the wave file and play it from the application. The following code can be used to load and play the resource. LPCSTR sound; // A pointer to the binary wave file.hResource = LoadResource( hInst,FindResource( hInst,MAKEINTRESOURCE(ID_SOUND),"SOUND" ) );sound = ( LPCSTR )LockResource( hResource );sndPlaySound( sound, SND_MEMORY );UnlockResource( hResource );FreeResource( hResource ); In the code above our resource type is "SOUND" and the resource identifier ID_SOUND. We first use FindResource API function to find the resource. This function returns a handle to the resource. This handle is passed to the LoadResource which returns a handle to a copy of the resource in memory. The LockResource is next used to get a pointer to the resource. Once a pointer is available, the latter can be used in a call to the sndPlaySound() function. The second parameter, SND_MEMORY, is used to denote that the first parameter is a pointer an in memory copy of the wave file. You have to include mmsystem.h header and link to winmm.lib library
@ File MP3 và vAM cũng có hướng dẫn rồi đó bạn, search với key name của Zcoder.
xuất âm thanh thì có nhiều cách:
hoặc từ tập tin trên đĩa, hoặc từ resource của c#(ở đây chỉ chấp nhận file wav pcm, bạn có thể dùng xilisoft để chuyển sang wav)
mình nêu ví dụ trong 2 trường hợp trên như sau:
Visual C# Code:
//am thanh //(1)static public string amthanh = @"C:\WINDOWS\Media\EXITPROG.wav"; { //(2) sau khi đã đưa vào resource thì dùng lệnh sau để nạp nó vào mediaSoundPlayer.Stream = Properties.Resources.ResourceManager.GetStream("EXITPROG"); //Còn dùng như sau nếu từ file trên đĩa //(1) mediaSoundPlayer.SoundLocation = amthanh ; mediaSoundPlayer.Play(); //mediaSoundPlayer.Stop(); }
Ngoài ra muốn dùng bất kỳ định dạng nào thì cách thứ ba như sau:
-đưa đối tượng Mediaplayer vào form, rồi ẩn hiện tùy bạn.
- tiếp theo làm tương tự code sau( bạn có thể chuyển sang switch)
Visual C# Code:
axWindowsMediaPlayer1.URL = (duongdan + bai + ".mp3"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".ram"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".wav"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".avi"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".mpeg"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".wmv"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".mid"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".asf"); axWindowsMediaPlayer1.URL = (duongdan + bai + ".au"); else vv...
Tương tự cho các file flash luôn.
Hay đó! Thế còn cho âm thanh tắt hay mở bằng nút lệng on/off thì sao? các bác làm chưa??
Cài này hay đây. Bác nào có thể chỉ rõ cách đưa MP3 vào Form được không? Và có cả nút on/off nữa. Thank nhiều!