2011-08-24 14 views
30

स्थानीय सूचनाओं के लिए चलने वाली ध्वनि को आप कैसे बदलते हैं? मैं डिफ़ॉल्ट ध्वनि चलाने के लिए नीचे दिए गए कोड का उपयोग करता हूं:स्थानीय नोटिफिकेशन के लिए कस्टम ध्वनि चुनें

notif.soundName = UILocalNotificationDefaultSoundName; 

तो, मैंने इसे नीचे करने की कोशिश की, और यह काम नहीं किया। मुझे क्या करना चाहिए? आपकी सहायताके लिए धन्यवाद!

notif.soundName = @"sound.caf"; 
+0

ऐसा लगता है कि यह काम करना चाहिए। क्या आपके एप्लिकेशन बंडल में 'sound.caf' है? – jtbandes

+0

हां, क्या निश्चित रूप से स्वरूपण सही है? मुझे नाम जैसे कुछ की आवश्यकता नहीं है: ध्वनि के साथ ध्वनि: कैफ, या उसके समान? –

+0

हां, प्रलेखन में केवल विस्तार शामिल करना है। – jtbandes

उत्तर

29

यह काम करना चाहिए। सुनिश्चित करें कि ध्वनि वास्तव में आपके ऐप के बंडल में है, सही प्रारूप में है (रैखिक पीसीएम या आईएमए 4-कहीं भी कहीं भी जो बताता है कि आईओएस के लिए ध्वनियों को कैसे परिवर्तित करना है, आपको बताएगा कि यह कैसे करें), और 30 सेकंड से कम है।

+0

इसे खींचें और इसे एक्सकोड में छोड़ दें, यह तीस सेकंड से कम है, सीएएफ काम करेगा? –

+2

सीएएफ एक कंटेनर प्रारूप है; आप केवल विस्तार से नहीं जानते कि किसी दिए गए सीएएफ में सही प्रकार का डेटा होता है। क्विकटाइम प्लेयर में ध्वनि खोलें, मूवी इंस्पेक्टर खोलने के लिए सीएमडी-आई दबाएं, और प्रारूप की जांच करें। एक आवाज जो मैंने झूठ बोल रही थी, ने कहा कि इसका प्रारूप "रैखिक पीसीएम, 16 बिट थोड़ा-एंडियन हस्ताक्षर पूर्णांक" था; अगर आपकी ध्वनि फ़ाइल उस के अलावा कुछ और दिखाती है, तो शायद यह समस्या है। –

+0

मैंने इसके बजाय आईएमए 4 प्रारूप का उपयोग किया और इसे काम करने के लिए मिला। आपकी सहायताके लिए धन्यवाद! –

37

आप wav और एमपी 3 से का उपयोग कर परिवर्तित कर सकते हैं:

afconvert clockalarm.mp3 clockalarm.caf -d ima4 -f caff -v 

यहां सबक:

afconvert -f caff -d [email protected] -c 1 in.wav out.caf 
+0

जहां मैं उस कमांड को दर्ज करूंगा और आईओएस कोड – srinadh

+0

में कनवर्ट करना भी संभव है, afconvert एक कमांड लाइन प्रोग्राम है जिसका उपयोग शैल एप्लिकेशन से किया जा सकता है आपकी macosx –

15

मैं भी नीचे आदेश का उपयोग CAF के लिए एमपी 3 कन्वर्ट करने के लिए करने की कोशिश की मैं करने के लिए कई घंटे बिताए स्थानीय अधिसूचना की आवाज के साथ संघर्ष। विभिन्न बिटरेट और प्रारूप के साथ बदलने की कोशिश की। लेकिन अंत में मैंने पाया कि आईओएस 6.1 एम्यूलेटर के साथ एक दोष होना चाहिए। मैंने डिवाइस को कोड पर तैनात किया, यह अच्छी तरह से काम करता है, लेकिन एम्यूलेटर पर, कोई आवाज नहीं है।

+0

आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद। मैंने अपनी नवीनतम जानकारी को शामिल करने के लिए सामग्री को अपडेट किया, मेरा सबक यहां सीखा। –

+0

खुश आपको एक समाधान मिला :-) – kleopatra

+2

एमपी 3 फ़ाइल काम कर रही है, इसे कैफ फ़ाइल प्रारूप में बदलने की आवश्यकता नहीं है –

8

मैं इन सभी समस्याओं (उत्तरों के लिए धन्यवाद) में भाग गया और .wav से .caf (sans 6.1 simulator) में परिवर्तित करके समस्या को हल करने में सक्षम था। आखिरी बिट की ज़रूरत थी कि यह सुनिश्चित किया जाए कि .caf मेरे ऐप के बंडल में था। इसे पुष्टि/सही करने के लिए ...

"प्रोजेक्ट नेविगेटर" में फ़ाइल पर राइट क्लिक करें, "फ़ाइल निरीक्षक दिखाएं" का चयन करें और सुनिश्चित करें कि फ़ाइल में "लक्ष्य सदस्यता" क्षेत्र में आपके प्रोजेक्ट के बगल में एक चेक मार्क है। मेरे मामले में "LocalNotificationExampleTests" एकमात्र आइटम चेक किया गया था। "LocalNotificationExample" की जांच करने से डिवाइस पर ध्वनि की कमी आई है।

1

स्विफ्ट 3 अधिसूचना शेड्यूलिंग फ़ंक्शन में नोटिफ़ ऑब्जेक्ट के लिए UNNotificationSound.init का उपयोग करें।

यहाँ एक स्विफ्ट 3 उदाहरण है:

func scheduleNotifications(inSeconds: TimeInterval, completion: @escaping (_ Success: Bool) ->()){ 
     ... 
     notif.sound = UNNotificationSound.init(named: "CustomSound.mp3") 
     ... 
} 

अंतिम नोट, एप्पल के अनुसार: "ध्वनि फ़ाइल एप्लिकेशन के बंडल में या लाइब्रेरी में समाहित किया जाना चाहिए/ध्वनि एप्लिकेशन के डेटा कंटेनर के फ़ोल्डर। यदि फाइलें दोनों स्थानों पर मौजूद हैं तो ~/लाइब्रेरी/ध्वनि में फ़ाइल को प्राथमिकता दी जाएगी। "

संबंधित मुद्दे