Memutar, menjeda, atau menghentikan satu efek suara

Halaman Diperbarui :
Tanggal pembuatan halaman :

Lingkungan verifikasi

Windows
  • jendela 11
Editor Kesatuan
  • 2021.3.3f1
Paket Sistem Input
  • 1.3.0

Prasyarat untuk tip ini

Pengaturan berikut telah dibuat sebelumnya sebagai premis untuk deskripsi tip ini.

Tentang materi yang disertakan dengan sampel

Efek suara dipinjam dari situs-situs berikut.

Tentang file audio

Format file audio berikut dapat diputar dengan fitur standar Unity: Harap persiapkan terlebih dahulu karena akan digunakan dalam tips ini.

  • WAV (.wav)
  • OggVorbis (.ogg)
  • MPEG lapisan 3 (.mp3)

Untuk informasi selengkapnya, lihat dokumentasi resmi Unity.

Mengenai memutar efek suara

Ada beberapa cara untuk memutar efek suara, tetapi di sini kami ingin memandu Anda melalui cara sederhana untuk memainkannya saat menggunakan fitur standar.

Isinya adalah mengatur tombol dan memutar, menjeda, dan berhenti dengan mengklik tombol. Dalam permainan yang sebenarnya, Anda dapat menerapkan proses yang sama selain tombol.

Pertama, tempatkan tombol untuk memainkan efek suara seperti yang ditunjukkan pada gambar.

Tambahkan file suara yang disiapkan dengan menjatuhkannya ke proyek Anda.

Selanjutnya, tambahkan "Sumber Audio" ke hierarki.

Saat Anda memilih Sumber Audio yang Anda buat, komponen Sumber Audio memiliki Klip Audio, tempat Anda menjatuhkan file audio dari proyek Anda untuk mengkonfigurasinya.

Ngomong-ngomong, jika Anda memulai permainan apa adanya, efek suara yang Anda atur akan tiba-tiba diputar. Ini karena "Mainkan di awal game" dicentang. Kecil kemungkinan efek suara akan diputar secara tiba-tiba, jadi biarkan centang ini tidak dicentang.

Selanjutnya, buat skrip. SoundPlayer Biarkan nama sebagai .

Skripnya terlihat seperti ini:

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 akan diatur nanti dari editor. Sumber Audio ini adalah yang memiliki efek suara yang diatur sebelumnya.

AudioSource, , dan metode, sehingga Anda dapat memutar, menjeda, dan PlayPauseStop menghentikan masing-masing.

Anda dapat melampirkan skrip ke Sumber Audio, tetapi dalam hal ini Anda akan melampirkannya ke EventSystem. Pastikan skrip Anda diisi dengan Sumber Audio yang Anda buat sebelumnya.

Sekarang tetapkan setiap metode ke acara klik dari tiga tombol.

Setelah selesai, jalankan game dan lihat apakah efek suara diputar.

Play, pause, dan stop adalah istilah yang umum digunakan, jadi Anda tidak perlu menuliskannya secara detail, tetapi saya pikir mereka berfungsi sebagai berikut.

  • Saat Anda mengklik tombol putar, efek suara hanya diputar sekali dan diputar sampai akhir.
  • Selama pemutaran, klik tombol jeda untuk menghentikan suara yang sedang diputar
  • Saat Anda mengklik tombol putar saat dijeda, suara diputar dari posisi berhenti.
  • Klik tombol stop selama pemutaran untuk menghentikan suara yang sedang diputar
  • Klik tombol putar saat berhenti untuk bermain dari awal
  • Mengklik tombol stop selama jeda akan melepaskan posisi yang dijeda dan saat berikutnya Anda bermain, itu akan dari awal.
  • Jika Anda mengklik tombol putar selama pemutaran, suara yang sedang diputar dihentikan dan diputar dari awal.

Kekurangan menggunakan AudioSource saja

Ada solusi, tetapi Tips ini memiliki kelemahan sebagai berikut. Kami akan membahas solusi ini di tip lain.

Tidak dapat memutar dua atau lebih suara yang sama secara bersamaan

Anda dapat memeriksanya dengan menekan tombol putar beberapa kali, tetapi suara sebelumnya menghilang saat Anda memutar suara baru. Berbicara tentang kerugian, itu adalah kerugian, tetapi sebaliknya, jika Anda memainkan suara yang sama di atas satu sama lain, volumenya akan sangat keras, jadi itu adalah keuntungan dalam arti mencegahnya. Namun, suara sebelumnya akan tetap hilang, jadi tergantung pada jenis suaranya, itu tidak wajar.

Anda harus memiliki Sumber Audio sebanyak mungkin karena ada jenis suara untuk diputar

Karena hanya satu klip audio yang dapat diatur dalam Sumber Audio, Anda perlu menyediakan Sumber Audio karena Anda memiliki suara sebanyak yang Anda inginkan. Anda juga hanya dapat menyiapkan satu Sumber Audio dan mengubah klip audio saat memutar suara yang berbeda. Hal ini tidak wajar karena suara sebelumnya menghilang karena masalah bahwa dua atau lebih dari suara yang sama yang ditulis sebelumnya tidak dapat dimainkan pada waktu yang sama.