Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alkalmazás fejlesztéséhez számos módon használhat hangokat. Hangjelzéssel kiegészítheti az egyéb felhasználói felületi elemeket, így a felhasználók hallhatóan felismerhetik az eseményeket. A hang hatékony felhasználói felületi elem lehet a látássérültek számára. A hang segítségével olyan légkört hozhat létre, amely elmerül a felhasználóban; Például játszhat egy szeszélyes hangsávot a puzzle játék hátterében, vagy használjon baljós hangeffektusokat egy horror/túlélési játékhoz.
Examples
Nyissa meg a WinUI 3 Katalógus alkalmazást, és tekintse meg a Hang működés közben című témakört
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Store vagy keresse meg a forráskódot GitHub.
Sound Global API
A WinUI egy könnyen elérhető hangrendszert biztosít, amely lehetővé teszi, hogy egyszerűen "átkapcsoljon," és az egész alkalmazásban magával ragadó hangélményt nyújtson.
A ElementSoundPlayer egy integrált hangrendszer az XAML-ben, és ha be van kapcsolva, az összes alapértelmezett vezérlő automatikusan lejátssza a hangokat.
ElementSoundPlayer.State = ElementSoundPlayerState.On;
A ElementSoundPlayer három különböző állapotot kínál: ki és Automatikus.
Ha be van állítva Kikapcsolva, függetlenül attól, hogy hol fut az alkalmazás, a hang soha nem fog megszólalni. állításakor a beállítás minden platformon le fogja játszani az alkalmazás hangjelzéseit.
Az ElementSoundPlayer engedélyezése automatikusan engedélyezi a térbeli hangot (3D hang) is. Az ElementSoundPlayer térbeli hangzásának kikapcsolásához (miközben a hang továbbra is aktív), tiltsa le a SpatialAudioMode:
ElementSoundPlayer.SpatialAudioMode = ElementSpatialAudioMode.Off
A SpatialAudioMode tulajdonság a következő értékeket veszi fel:
- Automatikus: A térbeli hang bekapcsol, ha a hang be van kapcsolva.
- Ki: A térbeli hang mindig kikapcsolva van, még akkor is, ha a hang be van kapcsolva.
- : A térbeli hangzás mindig bekapcsolva lesz.
Ha többet szeretne megtudni a térbeli hangról és az XAML kezeléséről, tekintse meg AudioGraph – Térbeli hang.
Hangerő felülírása
Az alkalmazáson belüli összes hang elhalványulhat a Hangerő vezérlővel. Az alkalmazásban lévő hangok azonban nem lehetnek hangosabbak, mint a rendszer hangereje.
Az alkalmazás hangerőszintjének beállításához kövesse az alábbiakat:
ElementSoundPlayer.Volume = 0.5;
Ahol a maximális hangerő (a rendszerhangerőhöz viszonyítva) 1,0, a minimum pedig 0,0 (gyakorlatilag néma).
Vezérlési szint állapota
Ha egy vezérlő alapértelmezett hangjelzése nem kívánatos, letiltható. Ez a vezérlőben található ElementSoundMode révén történik.
Az ElementSoundMode három állapotból áll: Alapértelmezett, FocusOnly és Ki. Ha nincs beállítva, az alapértelmezett . Ha a FocusOnly értékre van állítva, csak a fókuszhangok hallhatók. Ha ki van kapcsolva, a vezérlőhöz nem szólnak hangok.
<Button Name="ButtonName" Content="More Info" ElementSoundMode="Off"/>
ButtonName.ElementSoundMode = ElementSoundMode.Off;
Ez a megfelelő hang?
Egyéni vezérlő létrehozásakor vagy meglévő vezérlő hangjának módosításakor fontos megérteni a rendszer által biztosított összes hang használatát.
Minden hang egy bizonyos alapvető felhasználói interakcióhoz kapcsolódik, és bár a hangok bármilyen interakcióhoz testre szabhatók, ez a szakasz azokat a forgatókönyveket szemlélteti, amelyekben hangokat kell használni az összes WinUI-alkalmazás konzisztens élményének fenntartásához.
Elem meghívása
A rendszerünkben ma a leggyakoribb vezérlő által aktivált hang a Indít hang. Ez a hang akkor hallható, amikor egy felhasználó egy koppintással/kattintással/enter/szóközzel vagy a játékpadon az "A" gomb lenyomásával hívja meg a vezérlőt.
Ezt a hangot általában csak akkor aktiválja a rendszer, ha egy felhasználó kifejezetten egy egyszerű vezérlőt vagy vezérlőrészletet céloz meg egy bemeneti eszközzel.
Ha bármilyen vezérlőeseményből szeretné lejátszani ezt a hangot, egyszerűen hívja meg a Play metódust ElementSoundPlayer, és adja meg ElementSound.Invoke:
ElementSoundPlayer.Play(ElementSoundKind.Invoke);
Tartalom megjelenítése és elrejtése
Az XAML-ben számos előugró ablak, párbeszédpanel és elutasítható felhasználói felület található, és minden olyan műveletnek, amely az átfedések egyikét aktiválja, megjelenítése vagy hang elrejtése parancsot kell meghívnia.
Átfedéses tartalomablak megtekintésekor a hangjelzést kell meghívni:
ElementSoundPlayer.Play(ElementSoundKind.Show);
Ezzel szemben ha egy átfedéses tartalomablak bezárul (vagy a fény el van vetve), a elrejtése hangot kell meghívni:
ElementSoundPlayer.Play(ElementSoundKind.Hide);
Navigáció egy lapon belül
Amikor az alkalmazás oldalán lévő panelek vagy nézetek között navigál (lásd NavigationView), általában kétirányú mozgás történik. Ez azt jelenti, hogy az aktuális alkalmazásoldal elhagyása nélkül a következő nézetre/panelre vagy az előzőre léphet.
A navigációs koncepcióhoz kapcsolódó hangélményt a MovePrevious és a MoveNext hangok foglalják magukban.
Amikor olyan nézetre/panelre lép, amely a lista
ElementSoundPlayer.Play(ElementSoundKind.MoveNext);
Ha egy listában egy korábbi nézetre vagy panelre lép, amelyet az előző elem-nek tekintenek, hívja a következőt:
ElementSoundPlayer.Play(ElementSoundKind.MovePrevious);
Vissza navigáció
Amikor az aktuális lapról az előző oldalra navigál egy alkalmazásban, a GoBack hangot kell meghívni:
ElementSoundPlayer.Play(ElementSoundKind.GoBack);
Fókuszban egy elem
A Fókusz hang az egyetlen implicit hang a rendszerben. Ez azt jelenti, hogy a felhasználó nem kommunikál közvetlenül semmivel, de továbbra is hangot hall.
Az összpontosítás akkor történik, ha egy felhasználó egy alkalmazásban navigál, ez lehet a gamepad/billentyűzet/távoli vagy kinect. Általában a Fókusz hang nem játszódik le a PointerEntered vagy az egérre mutatás eseményeinél.
Ha úgy szeretne beállítani egy vezérlőt, hogy lejátssza a Fókusz hangot, amikor a vezérlő fókuszt kap, hívja fel a következőt:
ElementSoundPlayer.Play(ElementSoundKind.Focus);
Kerékpáros fókusz hangjai
A ElementSound.Focusmeghívásához hozzáadott funkcióként a hangrendszer alapértelmezés szerint 4 különböző hangon lépeget az egyes navigációs eseményindítókon. Ami azt jelenti, hogy nem követi egymást két teljesen azonos fókuszhang.
Ennek a kerékpározási funkciónak a célja, hogy a fókuszhangok ne legyenek monotonok, és hogy a felhasználó észrevehesse őket; a fókuszhangokat a leggyakrabban játsszák le, ezért a legfinomabbnak kell lenniük.
Kapcsolódó cikkek
Windows developer