iPhone System Sounds

本文详细介绍了iOS系统中各种声音文件及其对应的功能事件,包括信息、邮件、电话、输入设备声音提示等,并提供了系统声音文件的具体路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统声音的路径:/System/Library/Audio/UISounds 

 

我们可以用直接替换法(注意备份)或WinterBoard主题软件替换系统声音。WinterBoard的使用方法这里就不再叙述了,论坛里有很多教程。 

 

系统声音文件名对应的事件列表,方便大家修改相应的事件提示音(如有错误的地方,请FY指正。): 

 

信息 

ReceivedMessage.caf--收到信息,仅在短信界面打开时播放。 

sms-received1.caf-------三全音 

sms-received2.caf-------管钟琴 

sms-received3.caf-------玻璃 

sms-received4.caf-------圆号 

sms-received5.caf-------铃声 

sms-received6.caf-------电子乐 

SentMessage.caf--------发送信息 

 

邮件 

mail-sent.caf----发送邮件 

new-mail.caf-----收到新邮件 

 

电话 

dtmf-0.caf----------拨号面板0按键 

dtmf-1.caf----------拨号面板1按键 

dtmf-2.caf----------拨号面板2按键 

dtmf-3.caf----------拨号面板3按键 

dtmf-4.caf----------拨号面板4按键 

dtmf-5.caf----------拨号面板5按键 

dtmf-6.caf----------拨号面板6按键 

dtmf-7.caf----------拨号面板7按键 

dtmf-8.caf----------拨号面板8按键 

dtmf-9.caf----------拨号面板9按键 

dtmf-pound.caf---拨号面板#按键 

dtmf-star.caf------拨号面板*按键 

Voicemail.caf-----新语音邮件 

 

输入设备声音提示 

Tock.caf-----------------------点击键盘 

begin_record.caf-----------开始录音 

begin_video_record.caf--开始录像 

photoShutter.caf------------快门声 

end_record.caf--------------结束录音 

end_video_record.caf-----结束录像 

 

其他 

beep-beep.caf--充电、注销及连接电脑 

lock.caf------------锁定手机 

shake.caf---------“这个还没搞清楚” 

unlock.caf--------滑动解锁 

low_power.caf--低电量提示 

 

语音控制 

jbl_ambiguous.caf--找到多个匹配 

jbl_begin.caf------等待用户的输入 

jbl_cancel.caf-----取消 

jbl_confirm.caf----执行 

jbl_no_match.caf---没有找到匹配 

 

日历 

alarm.caf--日历提醒 

 

iPod Touch 1G 

sq_alarm.caf 

sq_beep-beep.caf 

sq_lock.caf 

sq_tock.caf 

 

未使用的系统声音 

ussd.caf 

short_double_high.caf 

short_double_low.caf 

short_low_high.caf 

middle_9_short_double_low.caf 

long_low_short_high.caf 

RingerChanged.caf 

SIMToolkitCallDropped.caf 

SIMToolkitGeneralBeep.caf 

SIMToolkitNegativeACK.caf 

SIMToolkitPositiveACK.caf 

SIMToolkitSMS.caf 

ct-busy.caf 

ct-call-waiting.caf 

ct-congestion.caf 

ct-error.caf 

ct-keytone2.caf 

ct-path-ack.caf 

Tink.caf 

using UnityEngine; using System.Collections; using System.Collections.Generic; using XLua; namespace LuaFramework { [LuaCallCSharp] public class SoundManager : Manager { public AudioSource bgAudio; public AudioSource audio; public AudioSource audioTwo; public AudioSource audioThree; //public AudioSource[] gens = new AudioSource[6]; public AudioSource gens; public AudioSource nets; private Hashtable sounds = new Hashtable(); public static SoundManager _instance; void Awake() { _instance = this; } public static SoundManager Instance { get { return _instance; } } void Start() { bgAudio = GetComponent<AudioSource>(); audio = transform.Find("Audio").GetComponent<AudioSource>(); audioTwo = transform.Find("AudioTwo").GetComponent<AudioSource>(); audioThree = transform.Find("AudioThree").GetComponent<AudioSource>(); gens = transform.Find("Gen").GetComponent<AudioSource>(); nets = transform.Find("Net").GetComponent<AudioSource>(); /*for (int i = 0; i < 6; i++) { gens[i] = transform.Find("Gen"+i).GetComponent<AudioSource>(); }*/ } /// <summary> /// Ìí&frac14;ÓÒ»¸öÉùÒô /// </summary> void Add(string key, AudioClip value) { if (sounds[key] != null || value == null) return; //Debug.Log("..add..AudioClip.."+key); sounds.Add(key, value); } public void ClearGameAudio(string key) { if (sounds[key] != null) { sounds[key] = null; } } /// <summary> /// »ñȡһ¸öÉùÒô /// </summary> AudioClip Get(string key) { if (sounds[key] == null) return null; return sounds[key] as AudioClip; } public float GetBgAudioVolume() { return bgAudio.volume; } public void SetBgAudioVolume(float value) { string key = "BgSound"; bgAudio.volume = value; PlayerPrefs.SetFloat(key, value); } public float GetGameAudioVolume(float value) { return audio.volume; } public void SetGameAudioVolume(float value) { string key = "GameAudio"; audio.volume = value; PlayerPrefs.SetFloat(key,value); } public void ChangBgVolumeOnGameScene(float value) { bgAudio.volume = value; } public void ChangGameVolueOnGameScene(float value) { audio.volume = value; audioTwo.volume = value; audioThree.volume = value; gens.volume = value; nets.volume = value; /*for (int i = 0; i < 6; i++) { gens[i].volume = value; }*/ } public void EnterMainScene() { bgAudio.volume = 1.0f; audio.volume = 1.0f; } IEnumerator playBgAudioClip(string name) { AudioClip Aclip; if (AppConst.UpdateMode) { AssetBundle built = null; #if UNITY_ANDROID || UNITY_IPHONE string path_2 = "file:///" + AppConst.FrameworkRoot + "/datingui_" + AppConst.UIVersion + "/" + name + ".u3d"; WWW www = new WWW(@path_2); yield return www; if (www.error == null) { yield return built = www.assetBundle; } else { Debug.Log("www null-------- " + path_2); } #else byte[] data = null;// = OpenFile.GetFileData(path_); if (File.Exists(path_)) { FileStream file_ = new FileStream(path_, FileMode.Open, FileAccess.Read); yield return data = new byte[file_.Length]; file_.Read(data, 0, (int)file_.Length); file_.Close(); } if (data != null) { yield return built = AssetBundle.LoadFromMemory(data); } #endif if (built != null) { Aclip = built.LoadAsset(name) as AudioClip; built.Unload(false); Add(name, Aclip); bgAudio.clip = Aclip; bgAudio.Play(); } www.Dispose(); }else { string path = "datingui_" + AppConst.UIVersion + "/" + name; yield return Aclip = (AudioClip)Resources.Load(path, typeof(AudioClip)); bgAudio.clip = Aclip; bgAudio.Play(); } } /// <summary> /// ÊÇ·ñ²¥·Å±³¾°ÒôÀÖ£¬Ä¬ÈÏÊÇ1£º²¥·Å /// </summary> /// <returns></returns> public bool CanPlayBackSound() { string key = "BackSound"; int i = PlayerPrefs.GetInt(key, 1); return i == 1; } /// <summary> /// ²¥·Å±³¾°ÒôÀÖ /// </summary> /// <param name="canPlay"></param> public void PlayBacksound(string name, bool canPlay) { if (bgAudio.clip != null) { if (name.IndexOf(bgAudio.clip.name) > -1) { if (!canPlay) { bgAudio.Stop(); bgAudio.clip = null; //Util.ClearMemory(); return; } } } if (canPlay) { bgAudio.loop = true; //audio.clip = LoadAudioClip(name); //audio.Play(); AudioClip Aclip; Aclip = Get(name); if (Aclip != null) { bgAudio.clip = Aclip; bgAudio.Play(); return; } else { StartCoroutine(playBgAudioClip(name)); } } else { bgAudio.Stop(); bgAudio.clip = null; //Util.ClearMemory(); } } public void PlayGameAudio(string name, bool canPlay) { if (audio.clip != null) { if (name.IndexOf(audio.clip.name) > -1) { if (!canPlay) { audio.Stop(); audio.clip = null; //Util.ClearMemory(); return; } } } if (canPlay) { audio.loop = false; //audio.clip = LoadAudioClip(name); //audio.Play(); AudioClip Aclip; Aclip = Get(name); if (Aclip != null) { audio.clip = Aclip; audio.Play(); return; } else { Debug.Log("...GameAudio..is ..null"); } } else { audio.Stop(); audio.clip = null; //Util.ClearMemory(); } } public void LoopPlayGameAudio(string name) { if (audio.clip != null) { if (name.IndexOf(audio.clip.name) > -1) { audio.loop = true; return; } } AudioClip Aclip; Aclip = Get(name); if (Aclip != null) { //audio.loop = true; audio.clip = Aclip; audio.loop = true; audio.Play(); return; } else { Debug.Log("...GameAudio..is ..null"); } } /// <summary> /// ÊÇ·ñ²¥·ÅÒôЧ,ĬÈÏÊÇ1£º²¥·Å /// </summary> /// <returns></returns> public bool CanPlaySoundEffect() { string key = "SoundEffect"; int i = PlayerPrefs.GetInt(key, 1); return i == 1; } /// <summary> /// ²¥·ÅÒôƵ&frac14;ô&frac14;­ /// </summary> /// <param name="clip"></param> /// <param name="position"></param> public void Play(AudioClip clip, Vector3 position) { if (!CanPlaySoundEffect()) return; AudioSource.PlayClipAtPoint(clip, position); } /// <summary> /// Í£Ö&sup1;ÒôÀÖ /// </summary> public void StopBgAudio() { bgAudio.Stop(); //string key = "BackSound"; //PlayerPrefs.SetInt(key,0); Debug.Log("....BackSoundStopAudio"); } /// <summary> /// ²¥·ÅÒôÀÖ /// </summary> public void PlayBgAudio() { bgAudio.Play(); //string key = "BackSound"; //PlayerPrefs.SetInt(key,1); Debug.Log("....BackSoundPlayAudio"); } public void AudioTwoPlayOneShot(string name) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { //audioTwo.clip = Aclip; audioTwo.PlayOneShot(Aclip); } } public void AudioThreePlayOneShot(string name) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { //audioThree.clip = Aclip; audioThree.PlayOneShot(Aclip); } } public void AudioPlayOneShot(string name) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { //audio.clip = Aclip; audio.PlayOneShot(Aclip); } } public void AudioPlayGen(string name) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { gens.clip = Aclip; gens.Play(); } /*if (genSeat < 6) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { gens[genSeat].PlayOneShot(Aclip); } }*/ } public void AudioPlayNet(string name) { AudioClip Aclip; Aclip = Get(name); if (Aclip) { nets.clip = Aclip; nets.Play(); } } public void ExitGame() { nets.Stop(); gens.Stop(); bgAudio.Stop(); audio.Stop(); audioTwo.Stop(); audioThree.Stop(); } float jindus; public AudioClip LoadAudioClipByPath(string name) { //string path; AudioClip Aclip = Get(name); if (Aclip != null) { return Aclip; } //AudioClip Aclip; if (AppConst.UpdateMode) { AssetBundle built = null; WWW www = null; #if UNITY_ANDROID //string path_2 = "file:///" + AppConst.FrameworkRoot + "/datingui_" + AppConst.UIVersion + "/" + path + name + ".u3d"; string path_2 = "file:///" + AppConst.FrameworkRoot + "/FishAudio_" + AppConst.UIVersion + "/" + name + ".u3d"; www = new WWW(@path_2); //yield return www; if (www.error == null) { built = www.assetBundle; } else { Debug.Log("www null-------- " + path_2); } #else string _path = AppConst.FrameworkRoot + "/FishAudio_"+ AppConst.UIVersion + "/" + name + ".u3d"; byte[] data = null;// = OpenFile.GetFileData(path_); if (System.IO.File.Exists(_path)) { System.IO.FileStream file_ = new System.IO.FileStream(_path, System.IO.FileMode.Open, System.IO.FileAccess.Read); data = new byte[file_.Length]; int redline = 0; int allnum = 0; while (true) { byte[] reddata = new byte[1024000]; redline = file_.Read(reddata, 0, (int)reddata.Length); if (redline <= 0) { jindus = 1.0f; break; } else { //Debug.LogError(redline); System.Array.Copy(reddata, 0, data, allnum, redline); allnum += redline; jindus = (float)allnum / (float)data.Length; } } file_.Close(); } if (data != null) { built = AssetBundle.LoadFromMemory(data); } #endif if (built != null) { Aclip = built.LoadAsset(name) as AudioClip; built.Unload(false); Add(name, Aclip); if (Aclip == null) { Debug.Log("Aclip null-------- "); } if (www != null) www.Dispose(); return Aclip; }else { if (www != null) www.Dispose(); return null; } }else { //string path_3 = "datingui_" + AppConst.UIVersion + "/" + path + name; string path_3 = "FishAudio_" + AppConst.UIVersion + "/" + name; Aclip = (AudioClip)Resources.Load(path_3, typeof(AudioClip)); Add(name, Aclip); if (Aclip == null) { Debug.Log("Aclip null-------- "); } return Aclip; } } public void ClearGameAudioClip(string key) { if (sounds[key] != null) { sounds.Remove(key); } } } }这个代码是Unity5.3.3f1版本的,现在升级到Unity2021.3.45f1版本后怎么兼容?并且把修改后的完整代码给我
最新发布
07-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值