Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 18
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Xuất âm thanh khi bắt đầu chương trình C#

    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ó.

    Mã:
            private void Form1_Load(object sender, EventArgs e)        {            // 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 á        }
    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 XP
    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!

  2. #2
    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?)[IMG]images/smilies/icon_question.gif[/IMG]

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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();

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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 ?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    làm sao để cho chạy được MP3 hoặc wma được vậy bạn
    thanks nhiều

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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é :

    Mã:
    1) Resource->New->NewType2) Type in "ID_SOUND" or "ID_WAVE".3) If you type yes for creating a resource id makesure you have access to that symbol. For nowpress No.4) Resource->New and choose "SOUND" resource type.This will bring up a text editor. Edit the text tolook similar to the syntax mentioned in thesection 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 itfrom the application. The following code can be used to loadand 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 resourceidentifier ID_SOUND. We first use FindResource API function tofind the resource. This function returns a handle to theresource. This handle is passed to the LoadResource whichreturns a handle to a copy of the resource in memory. TheLockResource is next used to get a pointer to the resource. Oncea pointer is available, the latter can be used in a call to thesndPlaySound() function. The second parameter, SND_MEMORY, isused to denote that the first parameter is a pointer an in memorycopy 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.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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:

    Mã:
            //am thanh        static public SoundPlayer mediaSoundPlayer = new SoundPlayer();        //(1)static public string amthanh = @"C:\WINDOWS\Media\EXITPROG.wav";        private void amthanh()        {            //(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)


    Mã:
                    if (File.Exists(duongdan + bai + ".mp3"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".mp3");                else if (File.Exists(duongdan + bai + ".ram"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".ram");                else if (File.Exists(duongdan + bai + ".wav"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".wav");                else if (File.Exists(duongdan + bai + ".avi"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".avi");                else if (File.Exists(duongdan + bai + ".mpeg"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".mpeg");                else if (File.Exists(duongdan + bai + ".wmv"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".wmv");                else if (File.Exists(duongdan + bai + ".mid"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".mid");                else if (File.Exists(duongdan + bai + ".asf"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".asf");                else if (File.Exists(duongdan + bai + ".au"))                    axWindowsMediaPlayer1.URL = (duongdan + bai + ".au");                else vv...
    Tương tự cho các file flash luôn.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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?? [IMG]images/smilies/biggrin.png[/IMG]

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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!

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi snake_programmer
    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?? [IMG]images/smilies/biggrin.png[/IMG]
    dùng COM , gì cũng có [IMG]images/smilies/clap_grin.gif[/IMG]

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •