STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Âm Thanh Trong Unity

    Hướng dẫn cách phát âm thanh trong Unity.

    Rye Nguyen

    05/08/2015
    29/09/2020
    3 phút đọc
    Âm Thanh Trong Unity

    Đối với bất kỳ game nào, âm thanh là một trong những yếu tố không thể thiếu, âm thanh như chất xúc tác nhằm kích thích các giác quan của người chơi giúp cho game trở nên thu hút và hấp dẫn hơn. Bài viết này sẽ hướng dẫn cách để phát âm thanh trong Unity.

    Audio Source Component

    Audio Source là 1 built-in component được Unity xây dựng sẵn để hỗ trợ phát các file âm thanh trong game.

    Để sử dụng Audio Source, chọn Add Component → Audio → Audio Source, các thuộc tính của Audio Source được hiển thị trong hình sau:

    ss_1

    Các tính năng chính

    • AudioClip: file âm thanh sẽ được gán vào AudioClip để xử lý và phát âm thanh ra các thiết bị output.
    • Play On Awake: tùy chọn cho phép âm thanh được phát ngay khi GameObject được kích hoạt.
    • Loop: tùy chọn lặp lại liên tục âm thanh sau khi đã phát hết.
    • Mute: tùy chọn ngắt kết nối với các thiết bị output âm thanh. Âm thanh sẽ vẫn chạy bình thường nhưng sẽ không được phát ra.

    Ngoài ra còn một số chức năng và tuỳ chọn không được hiển thị. Xử lý các tính năng cần thiết này với C# Script.

    Các định dạng hỗ trợ

    Theo thông tin từ trang chủ chính thức của Unity thì các định dạng âm thanh được hỗ trợ được thể hiện trong bảng sau:

    Format Extension
    MPEG Layer 3 .mp3
    OGG Vorbis .ogg
    Microsoft Wave .wav
    Audio Interchange File Format .aiff / .aif
    Ultimate Soundtracker Module .mod
    Impulse Tracker Modele .it
    Scream Tracker Module .s3m
    Fast Tracker 2 Module .xm

    Xử lý và phát âm thanh với Script

    Đầu tiên, để thao tác được với Audio Source, sử dụng dòng code sau:

    m_audio = GetComponent<AudioSource>();

    Với C# Script, có thể thực hiện được mọi thao tác với AudioSource, nhưng bài viết sẽ chỉ hướng dẫn các thao tác đơn giản và phổ biến.

    Thay đổi file âm thanh

    File âm thanh sẽ được lưu trữ dưới biến clip. Do đó để thay đổi file âm thanh khác, gán file đó vào biến này. Thao tác như sau:

    m_audio.clip = yourAudioFile;

    yourAudioFile phải được load lên bộ nhớ trước khi thực hiện dòng code trên.

    Play - Pause - Stop

    3 hàm này dùng để điều khiển bật hoặc tắt nhạc theo nhu cầu của lập trình viên, các hàm này sẽ thay đổi giá trị của biến isPlaying để thể hiện được trạng thái của AudioSource.

    m_audio.Play();
    m_audio.Pause();
    m_audio.Stop();

    Hàm Pause sẽ dừng chơi nhạc và lưu trữ trạng thái hiện tại để có thể resume, trong khi hàm Stop sẽ dừng hoàn toàn và di chuyển về vị trí đầu của file âm thanh trong bộ nhớ.

    isPlaying

    Biến này có tác dụng như một cờ đánh dấu để AudioSource có thể kiểm tra và bật hoặc tắt âm thanh theo ý lập trình viên. Để kiểm tra giá trị của biến, có thể sử dụng hàm Debug.Log như sau:

    Debug.Log(m_audio.isPlaying);

    mute

    Dùng để bật hoặc tắt âm thanh phát ra các thiết bị output, thao tác tương tự như hướng dẫn ở trên.

    Download demo

    STDIO_UnitySoundTutorial.zip

    0 Bình luận
    Lập Trình Game

    Lập Trình Game

    Kiến thức, kỹ thuật, kinh nghiệm lập trình game.

    Đề xuất

    Các Thành Phần Cơ Bản Trong Unity
    Các thành phần, component cơ bản trong Unity thường được sử dụng để phát ...
    01/08/2015
    Hiện Thực Game Zero Với Unity - Phần 5 - Âm Thanh Và Effect
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Hướng dẫn các hiệu ứng âm thanh ...

    Khám phá

    Thao Tác Âm Thanh trong C# Qua Thư Viện WMPLib
    Hướng dẫn sử dụng WMPLib phát âm thanh trong C#.
    01/06/2017
    Vector Trong Unity
    Giới thiệu và hướng dẫn sử dụng các đối tượng cơ bản thuộc lớp Vector3 ...
    Audio Sprite Và Audio Sprite Với HTML5
    Audio Sprite (hay có người gọi là Sound Sprite) Sprite Sheet hỗ trợ phát ...
    Hiệu Ứng Camera Shake trong Unity
    Hướng dẫn xây dựng hiệu ứng Camera Shake trong Unity
    Ứng Dụng Của StartCoroutine Trong Unity
    Giới thiệu khái niệm Coroutine và hướng dẫn hiện thực Coroutine trong ...
    Hiện Thực Game Zero Với Unity - Phần 4 - Scene Và Popup
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết kế hệ thống scene và ...
    Phân Biệt Awake và Start trong Unity
    Phân biệt phương thức Awake và phương thức Start trong Unity.
    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết lập môi trường phát triển ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020