Main, jeda, hentikan dan gelung muzik latar belakang

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2021.3.3F1
Pakej Sistem Input
  • 1.3.0

Prasyarat untuk petua ini

Tetapan berikut telah dibuat terlebih dahulu sebagai premis untuk penerangan petua ini.

Mengenai bahan yang disertakan dengan sampel

BGM dipinjam dari laman web berikut.

Perihal fail audio

Format fail audio berikut boleh dimainkan dengan ciri standard Unity: Sila sediakannya terlebih dahulu kerana ia akan digunakan dalam petua ini.

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

Untuk maklumat lanjut, lihat dokumentasi Unity rasmi.

Mengenai main balik BGM

Terdapat beberapa cara untuk memainkan muzik latar belakang, tetapi di sini kami ingin menerangkan cara memainkannya dengan cara yang mudah semasa menggunakan ciri standard.

Kandungannya adalah untuk mengatur butang dan bermain, berhenti seketika, dan berhenti dengan mengklik butang. Dalam permainan sebenar, anda boleh melaksanakan proses yang sama selain daripada butang.

Pertama, letakkan butang untuk memainkan BGM seperti yang ditunjukkan dalam gambar.

Tambah fail audio yang disediakan dengan menjatuhkannya ke dalam projek anda.

Seterusnya, tambah "Sumber Audio" pada hierarki.

Apabila anda memilih Sumber Audio yang anda cipta, komponen Sumber Audio mempunyai Klip Audio, yang mana anda melepaskan fail audio daripada projek anda untuk mengkonfigurasinya.

Dengan cara ini, jika anda memulakan permainan seperti itu, BGM yang anda tetapkan akan tiba-tiba bermain. Ini kerana "Main pada permulaan permainan" diperiksa. Sekiranya anda ingin memainkannya dengan segera pada permulaan adegan, tidak ada masalah seperti itu, tetapi kali ini ia tidak akan bermain dengan serta-merta, jadi biarkan cek ini tidak diperiksa.

Seterusnya, buat skrip. MusicPlayer Tinggalkan nama sebagai .

Skrip kelihatan seperti ini:

using UnityEngine;

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

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

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

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

AudioSource akan ditetapkan kemudian daripada editor. AudioSource ini ialah fail audio yang baru sahaja anda masukkan.

AudioSource, , dan kaedah, supaya anda boleh bermain, menjeda, dan PlayPauseStop berhenti masing-masing.

Anda boleh melampirkan skrip pada Sumber Audio, tetapi dalam kes ini anda akan melampirkannya pada EventSystem. Pastikan skrip anda diisi dengan Sumber Audio yang anda cipta sebelum ini.

Sekarang berikan setiap kaedah untuk acara klik tiga butang.

Selepas menyediakan, jalankan permainan dan lihat sama ada muzik latar belakang dimainkan.

Main, jeda dan berhenti adalah istilah yang biasa digunakan, jadi anda tidak perlu menulisnya secara terperinci, tetapi saya fikir ia berfungsi seperti berikut.

  • Apabila anda mengklik butang main, muzik latar belakang dimainkan sekali sahaja dan dimainkan hingga akhir.
  • Semasa main semula, klik butang jeda untuk menghentikan bunyi dimainkan
  • Apabila anda mengklik butang main semasa dijeda, bunyi dimainkan dari kedudukan berhenti.
  • Klik butang berhenti semasa main balik untuk menghentikan bunyi dimainkan
  • Klik butang main semasa berhenti untuk bermain dari awal
  • Mengklik butang berhenti semasa jeda akan melepaskan kedudukan yang dijeda dan kali seterusnya anda bermain, ia akan dari awal.
  • Jika anda mengklik butang main balik semasa main balik, bunyi yang sedang dimainkan dihentikan dan dimainkan dari awal.

Main balik gelung

Ia memainkan muzik latar belakang secara lalai dan berhenti secara automatik apabila ia dimainkan hingga akhir. Jika anda ingin gelung muzik latar belakang dan teruskan bermain, semak "Gelung" dalam komponen Sumber Audio dan ia akan terus dimainkan berulang kali sehingga anda menekan butang berhenti.

Kandungan main balik kesan bunyi adalah sama

Jika anda sudah melihat petua pada bahagian kesan bunyi, anda mungkin menyedari bahawa kesan bunyi dan muzik latar belakang boleh dimainkan dengan tetapan yang sama. Bergantung pada rangka kerja permainan, pemprosesan kesan bunyi dan muzik latar belakang mungkin berasingan, tetapi Unity membolehkan anda memainkan kedua-duanya dengan pemprosesan yang sama.

Mengenai fenomena muzik latar belakang menjeda apabila tetingkap dinyahaktifkan

Secara lalai, apabila tetingkap lain aktif dan skrin permainan dinyahaktifkan, permainan itu sendiri dijeda. Seiring dengan ini, main balik muzik latar belakang juga digantung.

Untuk mengelakkan perkara ini, anda boleh mengesetkannya untuk dijalankan di latar belakang dalam seting projek anda supaya muzik latar belakang tidak terganggu.