Suarakan

hero image

Ada banyak cara untuk menggunakan suara untuk meningkatkan aplikasi Anda. Anda dapat menggunakan untuk terdengar untuk melengkapi elemen UI lain, memungkinkan pengguna mengenali peristiwa dengan jelas. Suara dapat menjadi elemen antarmuka pengguna yang efektif untuk penyandang disabilitas visual. Anda dapat menggunakan suara untuk menciptakan suasana yang membenamkan pengguna; misalnya, Anda mungkin memainkan soundtrack yang aneh di latar belakang permainan teka-teki, atau menggunakan efek suara yang menyenangkan untuk permainan horor/bertahan hidup.

Contoh

Galeri WinUI 2
WinUI Gallery

Jika Anda telah menginstal aplikasi Galeri WinUI 2, klik di sini untuk membuka aplikasi dan lihat Suara sedang beraksi.

API Global Suara

UWP menyediakan sistem suara yang mudah diakses yang memungkinkan Anda untuk "membalik sakelar" dan mendapatkan pengalaman audio imersif di seluruh aplikasi Anda.

ElementSoundPlayer adalah sistem suara terintegrasi dalam XAML, dan ketika diaktifkan, semua kontrol default akan memutar suara secara otomatis.

ElementSoundPlayer.State = ElementSoundPlayerState.On;

ElementSoundPlayer memiliki tiga status berbeda: OnOff dan Auto.

Jika diatur ke Nonaktif, di mana pun aplikasi Anda dijalankan, suara tidak akan pernah diputar. Jika diatur ke Suara aktif untuk aplikasi Anda akan diputar di setiap platform.

Mengaktifkan ElementSoundPlayer juga akan mengaktifkan audio spasial (suara 3D) secara otomatis. Untuk menonaktifkan suara 3D (saat masih menyalakan suara), nonaktifkan SpatialAudioMode dari ElementSoundPlayer:

ElementSoundPlayer.SpatialAudioMode = ElementSpatialAudioMode.Off

Properti SpatialAudioMode dapat mengambil nilai-nilai ini:

  • Otomatis: Audio spasial akan menyala saat suara menyala.
  • Nonaktif: Audio spasial selalu mati, meskipun suara menyala.
  • Aktif: Audio spasial akan selalu diputar.

Untuk mempelajari selengkapnya tentang audio spasial dan cara XAML menanganinya, lihat AudioGraph - Audio Spasial.

Suara untuk TV dan Xbox

Suara adalah bagian utama dari pengalaman 10 kaki, dan secara default, status ElementSoundPlayer adalah Otomatis, yang berarti Anda hanya akan mendapatkan suara saat aplikasi Anda berjalan di Xbox. Silakan lihat Merancang untuk Xbox dan TV untuk detail selengkapnya.

Penimpaan Volume Suara

Semua suara dalam aplikasi dapat diredupkan dengan kontrol Volume . Namun, suara dalam aplikasi tidak bisa lebih keras daripada volume sistem.

Untuk mengatur tingkat volume aplikasi, panggil:

ElementSoundPlayer.Volume = 0.5;

Di mana volume maksimum (relatif terhadap volume sistem) adalah 1,0, dan minimum adalah 0,0 (pada dasarnya senyap).

Status Tingkat Kontrol

Jika suara default kontrol tidak diinginkan, suara tersebut dapat dinonaktifkan. Ini dilakukan melalui ElementSoundMode pada kontrol.

ElementSoundMode memiliki dua status: Nonaktif dan Default. Ketika tidak diatur, ini adalah Default. Jika diatur ke Nonaktif, setiap suara yang diputar kontrol akan dibisukan kecuali untuk fokus.

<Button Name="ButtonName" Content="More Info" ElementSoundMode="Off"/>
ButtonName.ElementSoundState = ElementSoundMode.Off;

Apakah ini suara yang tepat?

Saat membuat kontrol kustom, atau mengubah suara kontrol yang ada, penting untuk memahami penggunaan semua suara yang disediakan sistem.

Setiap suara berkaitan dengan interaksi pengguna dasar tertentu, dan meskipun suara dapat disesuaikan untuk diputar pada interaksi apa pun, bagian ini berfungsi untuk menggambarkan skenario di mana suara harus digunakan untuk mempertahankan pengalaman yang konsisten di semua aplikasi UWP.

Memanggil Elemen

Suara yang dipicu kontrol yang paling umum dalam sistem kami saat ini adalah suara Invoke . Suara ini diputar ketika pengguna memanggil kontrol melalui ketuk/klik/masukkan/spasi atau tekan tombol 'A' pada gamepad.

Biasanya, suara ini hanya diputar ketika pengguna secara eksplisit menargetkan bagian kontrol atau kontrol sederhana melalui perangkat input.

Untuk memutar suara ini dari peristiwa kontrol apa pun, cukup panggil metode Play dari ElementSoundPlayer dan teruskan di ElementSound.Invoke:

ElementSoundPlayer.Play(ElementSoundKind.Invoke);

Menampilkan & Menyembunyikan Isi

Ada banyak flyout, dialog, dan UI yang dapat ditutup di XAML, dan tindakan apa pun yang memicu salah satu overlay ini harus memanggil suara Tampilkan atau Sembunyikan .

Saat jendela konten overlay ditampilkan, Perlihatkan suara harus dipanggil:

ElementSoundPlayer.Play(ElementSoundKind.Show);

Sebaliknya ketika jendela konten overlay ditutup (atau dimatikan cahaya), sembunyikan suara harus dipanggil:

ElementSoundPlayer.Play(ElementSoundKind.Hide);

Saat menavigasi antar panel atau tampilan dalam halaman aplikasi (lihat NavigationView), biasanya ada gerakan dua arah. Artinya Anda dapat berpindah ke tampilan/panel berikutnya atau yang sebelumnya, tanpa meninggalkan halaman aplikasi saat ini tempat Anda berada.

Pengalaman audio di sekitar konsep navigasi ini dilingkupi oleh suara MovePrevious dan MoveNext .

Saat berpindah ke tampilan/panel yang dianggap sebagai item berikutnya dalam daftar, panggil:

ElementSoundPlayer.Play(ElementSoundKind.MoveNext);

Dan saat berpindah ke tampilan/panel sebelumnya dalam daftar yang dianggap sebagai item sebelumnya, panggil:

ElementSoundPlayer.Play(ElementSoundKind.MovePrevious);

Navigasi Belakang

Saat menavigasi dari halaman saat ini ke halaman sebelumnya dalam aplikasi , suara GoBack harus dipanggil:

ElementSoundPlayer.Play(ElementSoundKind.GoBack);

Berfokus pada Elemen

Suara Fokus adalah satu-satunya suara implisit dalam sistem kita. Artinya pengguna tidak berinteraksi langsung dengan apa pun, tetapi masih mendengar suara.

Pemfokusan terjadi ketika pengguna menavigasi melalui aplikasi, ini dapat dilakukan dengan gamepad/keyboard/remote atau kinect. Biasanya suara Fokus tidak diputar pada peristiwa PointerEntered atau mouse hover.

Untuk menyiapkan kontrol untuk memutar suara Fokus saat kontrol Anda menerima fokus, panggil:

ElementSoundPlayer.Play(ElementSoundKind.Focus);

Suara Fokus Bersepeda

Sebagai fitur tambahan untuk memanggil ElementSound.Focus, sistem suara akan, secara default, menelusuri 4 suara yang berbeda pada setiap pemicu navigasi. Artinya tidak ada dua suara fokus yang tepat yang akan bermain tepat setelah yang lain.

Tujuan di balik fitur bersepeda ini adalah untuk menjaga agar suara fokus tidak menjadi monoton dan agar tidak terlihat oleh pengguna; suara fokus akan dimainkan paling sering dan oleh karena itu harus menjadi yang paling halus.

Mendapatkan kode sampel

  • Sampel Galeri WinUI 2 - Lihat semua kontrol XAML dalam format interaktif.