Wenn Sie einen kurzen Systemsound (kürzer als 30 Sekunden) mit dem System-Sound Services Mechanismus spielen (Code würde in etwa wie folgt aussehen)
#include <AudioToolbox/AudioToolbox.h>
SystemSoundID aSoundID;
/* Setup */
SystemSoundID aSoundID;
OSStatus error =
AudioServicesCreateSystemSoundID((CFURLRef)aFileURL, &aSoundID);
if (error == kAudioServicesNoError) { // success
_soundID = aSoundID;
}
/* Play */
AudioServicesPlaySystemSound(aSoundID);
/* Dispose */
AudioServicesDisposeSystemSoundID(aSoundID);
Sie AudioServicesSetProperty können Sie einstellen, zwei Eigenschaften, die diese Funktion verwenden.
Sie sind: kAudioServicesPropertyIsUISound = 'Isui', kAudioServicesPropertyCompletePlaybackIfAppDies = 'ifdi'
kAudioServicesPropertyIsUISound, wenn es auf 1 gesetzt ist, bedeutet, dass für die Audiodatei durch ein System festgelegt in der inSpecifier bestanden Ton Parameter berücksichtigt der System Sound Server die Benutzereinstellung in der Einstellung Sound Effects und ist lautlos, wenn der Benutzer Soundeffekte ausschaltet.
Diese Eigenschaft ist standardmäßig auf 1 festgelegt. Setzen Sie den Wert auf 0, damit der Systemsound immer an AudioServicesPlaySystemSound weitergegeben wird, unabhängig von der Einstellung des Benutzers in den Soundeinstellungen.
kAudioServicesPropertyCompletePlaybackIfAppDies, wenn es auf 1 gesetzt ist, bedeutet, dass die Audiodatei von einem System in parametrierbaren inSpecifier geben klingen sollte beenden, auch wenn die Client-Anwendung zu spielen beendet. Dies kann zum Beispiel passieren, wenn der Benutzer beendet wird oder die Anwendung unerwartet beendet wird, während der Sound wiedergegeben wird.Der Standardwert ist 0. Das heißt, Sie müssen den Wert dieser Eigenschaft explizit auf 1 setzen, wenn der Sound vollständig abgespielt werden soll, selbst wenn die Anwendung beendet wird.
EDIT: Beim Re-Lektüre Ihrer Frage, es scheint, kann es sein, „Wie kann ich eine Eigenschaft“ als „was hat das tun“ In diesem Fall wird folgendes nützlicher sein:
Angenommen, stellen Sie den Ton, wie ich oben angegeben, können Sie dies insbesondere SystemSoundID Objekt einstellen könnten die „stille“ -Einstellung auf der Seite des Telefons zu ignorieren, indem Sie folgendermaßen vorgehen:
UInt32 flag = 0;
err = AudioServicesSetProperty(kAudioServicesPropertyIsUISound,
sizeof(UInt32),
&aSoundID,
sizeof(UInt32),
&flag);
Diese Frage scheint ein bisschen rückwärts. Was versuchst du zu machen? Was verstehst du nicht? –