2014-09-06 7 views
11

की पिच बदलने के लिए ऐप्पल की नई ऑडियोइंजिन का उपयोग करके मैं वर्तमान में ऐप्पल का नया ऑडियो इंजन अपने वर्तमान ऑडियो सेटअप के साथ काम करने की कोशिश कर रहा हूं। विशेष रूप से, मैं ऑडियो इंजन के साथ पिच बदलने की कोशिश कर रहा हूं, जो स्पष्ट रूप से this post के अनुसार संभव है।ऑडियोप्लेयर ध्वनि

मैंने डिराक और ऑब्जेक्टल सहित अन्य पिच बदलने वाले समाधानों में भी देखा है, लेकिन दुर्भाग्यवश दोनों स्विफ्ट के साथ काम करने के मामले में बहुत गड़बड़ लगते हैं, जिसका मैं उपयोग कर रहा हूं।

मेरा सवाल यह है कि मैं ऐप्पल के नए ऑडियो इंजन का उपयोग करके ऑडियो फ़ाइल की पिच कैसे बदलूं। मैं AVAudioPlayer का उपयोग करके ध्वनि बजाने में सक्षम हूं, लेकिन मुझे यह नहीं मिल रहा है कि ऑडियोइंजिन में फ़ाइल का संदर्भ कैसे दिया जाता है। लिंक किए गए पृष्ठ पर दिए गए कोड में एक 'प्रारूप' है जो ऑडियो फ़ाइल को संदर्भित करता है, लेकिन मुझे प्रारूप बनाने का तरीका नहीं मिल रहा है, या यह क्या करता है।

मैं इस सरल कोड के साथ लगता है खेल रहा हूँ:

let path = NSBundle.mainBundle().pathForResource(String(randomNumber), ofType:"m4r") 
let fileURL = NSURL(fileURLWithPath: path!) 
player = AVAudioPlayer(contentsOfURL: fileURL, error: nil) 
player.prepareToPlay() 
player.play() 

उत्तर

14

आप एक AVAudioPlayerNode, न कि एक AVAudioPlayer का उपयोग करें।

engine = AVAudioEngine() 
playerNode = AVAudioPlayerNode() 
engine.attachNode(playerNode) 

फिर आप एक AVAudioUnitTimePitch संलग्न कर सकते हैं।

var mixer = engine.mainMixerNode; 
auTimePitch = AVAudioUnitTimePitch() 
auTimePitch.pitch = 1200 // In cents. The default value is 1.0. The range of values is -2400 to 2400 
auTimePitch.rate = 2 //The default value is 1.0. The range of supported values is 1/32 to 32.0. 
engine.attachNode(auTimePitch) 
engine.connect(playerNode, to: auTimePitch, format: mixer.outputFormatForBus(0)) 
engine.connect(auTimePitch, to: mixer, format: mixer.outputFormatForBus(0)) 
+0

यह मुझे कोई समझ नहीं आता है। मैं उस फ़ाइल को कहां कहूं जिसे मैं खेलना चाहता हूं? – charlesrockbass

+0

शेड्यूलफाइल उपयोग करने के लिए funciton है। https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioPlayerNode_Class/index.html#//apple_ref/occ/cl/AVAudioPlayerNode –

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