Phát, tạm dừng hoặc dừng một hiệu ứng âm thanh duy nhất

Trang Cập Nhật :
Ngày tạo trang :

Môi trường xác minh

Windows
  • cửa sổ 11
Biên tập viên Unity
  • 2021.3.3F1
Gói hệ thống đầu vào
  • 1.3.0

Điều kiện tiên quyết cho mẹo này

Các cài đặt sau đây đã được thực hiện trước làm tiền đề cho mô tả về mẹo này.

Về vật liệu đi kèm với mẫu

Hiệu ứng âm thanh được mượn từ các trang web sau.

Giới thiệu về tệp âm thanh

Các định dạng tệp âm thanh sau có thể được phát bằng các tính năng tiêu chuẩn của Unity: Vui lòng chuẩn bị trước vì nó sẽ được sử dụng trong những lời khuyên này.

  • WAV (.wav)
  • OggVorbis (.ogg)
  • MPEG lớp 3 (.mp3)

Để biết thêm thông tin, hãy xem tài liệu chính thức của Unity.

Giới thiệu về cách phát hiệu ứng âm thanh

Có một số cách để phát hiệu ứng âm thanh, nhưng ở đây chúng tôi muốn hướng dẫn bạn một cách đơn giản để phát chúng trong khi sử dụng các tính năng tiêu chuẩn.

Nội dung là sắp xếp một nút và phát, tạm dừng và dừng lại bằng cách nhấp vào nút. Trong một trò chơi thực tế, bạn có thể thực hiện quy trình tương tự ngoài các nút.

Đầu tiên, đặt một nút để phát hiệu ứng âm thanh như trong hình.

Thêm tệp âm thanh đã chuẩn bị bằng cách thả nó vào dự án của bạn.

Tiếp theo, thêm "Nguồn âm thanh" vào hệ thống phân cấp.

Khi bạn chọn Nguồn âm thanh bạn đã tạo, thành phần Nguồn âm thanh có Clip âm thanh, trong đó bạn thả tệp âm thanh từ dự án của mình để định cấu hình nó.

Nhân tiện, nếu bạn bắt đầu trò chơi như hiện tại, hiệu ứng âm thanh bạn đặt sẽ đột nhiên phát. Điều này là do "Chơi khi bắt đầu trò chơi" được chọn. Không chắc là hiệu ứng âm thanh sẽ được phát đột ngột, vì vậy hãy bỏ chọn kiểm tra này.

Tiếp theo, tạo một tập lệnh. SoundPlayer Để tên là .

Kịch bản trông như thế này:

using UnityEngine;

public class SoundPlayer : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.Play();
  }

  public void OnClickPause()
  {
    // オーディオを一時停止します
    AudioSource.Pause();
  }

  public void OnClickStop()
  {
    // オーディオを停止します
    AudioSource.Stop();
  }
}

AudioSource sẽ được đặt sau từ trình chỉnh sửa. Nguồn âm thanh này là nguồn có hiệu ứng âm thanh được đặt trước đó.

AudioSource, và các phương thức, vì vậy bạn có thể phát, tạm dừng và PlayPauseStop dừng tương ứng.

Bạn có thể đính kèm tập lệnh vào Nguồn âm thanh, nhưng trong trường hợp này, bạn sẽ đính kèm tập lệnh vào Hệ thống sự kiện. Đảm bảo tập lệnh của bạn được điền bằng Nguồn âm thanh bạn đã tạo trước đó.

Bây giờ gán từng phương thức cho sự kiện nhấp chuột của ba nút.

Khi bạn đã hoàn tất, hãy chạy trò chơi và xem hiệu ứng âm thanh có phát không.

Phát, tạm dừng và dừng là những thuật ngữ thường được sử dụng, vì vậy bạn không cần phải viết chúng chi tiết, nhưng tôi nghĩ chúng hoạt động như sau.

  • Khi bạn nhấp vào nút phát, hiệu ứng âm thanh chỉ được phát một lần và phát đến cuối.
  • Trong khi phát lại, hãy nhấp vào nút tạm dừng để dừng phát âm thanh
  • Khi bạn nhấp vào nút phát trong khi tạm dừng, âm thanh sẽ được phát từ vị trí dừng.
  • Nhấp vào nút dừng trong khi phát lại để dừng phát âm thanh
  • Nhấp vào nút phát trong khi dừng để phát lại từ đầu
  • Nhấp vào nút dừng trong khi tạm dừng sẽ giải phóng vị trí bị tạm dừng và lần sau khi bạn chơi, nó sẽ là từ đầu.
  • Nếu bạn nhấp vào nút phát trong khi phát lại, âm thanh hiện đang phát sẽ bị dừng và phát lại từ đầu.

Nhược điểm của việc sử dụng AudioSource một mình

Có một cách giải quyết, nhưng Mẹo này có những nhược điểm sau. Chúng tôi sẽ đề cập đến các giải pháp này trong một mẹo khác.

Không thể phát hai hoặc nhiều âm thanh giống nhau cùng một lúc

Bạn có thể kiểm tra điều này bằng cách nhấn nút phát nhiều lần, nhưng âm thanh trước đó sẽ biến mất khi bạn phát âm thanh mới. Nói về nhược điểm, đó là một nhược điểm, nhưng ngược lại, nếu bạn chơi cùng một âm thanh chồng lên nhau, âm lượng sẽ rất lớn, vì vậy đó là một lợi thế theo nghĩa là nó ngăn chặn nó. Tuy nhiên, âm thanh trước đó vẫn sẽ biến mất, vì vậy tùy thuộc vào loại âm thanh mà nó sẽ không được tự nhiên.

Bạn phải có nhiều Nguồn âm thanh vì có nhiều loại âm thanh để phát

Vì chỉ có thể đặt một clip âm thanh trong Nguồn âm thanh, bạn cần cung cấp Nguồn âm thanh khi bạn có bao nhiêu âm thanh tùy thích. Bạn cũng chỉ có thể chuẩn bị một Nguồn âm thanh và thay đổi clip âm thanh khi phát một âm thanh khác. Nó không tự nhiên vì âm thanh trước đó biến mất do vấn đề là hai hoặc nhiều âm thanh giống nhau được viết trước đó không thể phát cùng một lúc.