2010-04-06 15 views
7

का उपयोग करके कई ऑडियो फ़ाइलों को चलाएं मैं अपने गीत रिकॉर्डिंग में से 10 को मुक्त करने की योजना बना रहा हूं लेकिन एक आईफोन ऐप में बंडल किया गया हूं। वे वेब या आईट्यून्स या कहीं भी कहीं भी उपलब्ध नहीं हैं।AVAudioPlayer

मैं आईफोन एसडीके (नवीनतम) के लिए नया हूं जैसा कि आप कल्पना कर सकते हैं, इसलिए मैं डेवलपर दस्तावेज़, विभिन्न मंचों और स्टैक ओवरफ्लो सीखने के लिए जा रहा हूं।

ऐप्पल का avTouch नमूना आवेदन एक महान शुरुआत थी। लेकिन मैं चाहता हूं कि मेरा ऐप सभी 10 ट्रैक एक-एक करके खेलें। सभी गाने संसाधन फ़ोल्डर में जोड़े जाते हैं और उन्हें ट्रैक 1, ट्रैक 2 ... ट्रैक 10 के रूप में नामित किया जाता है।

avTouch ऐप कोड में मैं निम्नलिखित 2 भागों को देख सकता हूं, जहां मुझे लगता है कि मुझे जो कुछ भी मिल रहा है, उसे प्राप्त करने के लिए मुझे बदलाव करने की आवश्यकता है। लेकिन मैं खो गया हूँ।

// Load the array with the sample file 
NSURL *fileURL = [[NSURL alloc] 
       initFileURLWithPath: 
       [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"m4a"]]; 


- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 
{ 
if (flag == NO) 
    NSLog(@"Playback finished unsuccessfully"); 

[player setCurrentTime:0.]; 
[self updateViewForPlayerState]; 
} 

किसी को भी कृपया मुझे
1. पर मदद कर सकते हैं कि कैसे सभी 10 पटरियों जो संसाधन फ़ोल्डर
2. से जुड़ जाते हैं और जब मैं खेलने मारा, खिलाड़ी पहले ट्रैक शुरू कर देना चाहिए के साथ सरणी लोड करने के लिए। जब पहला ट्रैक समाप्त होता है तो शेष ट्रैक के लिए दूसरा ट्रैक शुरू होना चाहिए।

धन्यवाद

उत्तर

8

इनस्क्रिप्ट, क्या आपको अभी तक इसका समाधान मिला है? आप उन्हें वापस खेलने के लिए if { // do something } else { // do something else } कथन जैसे कुछ सरल से चिपकना चाह सकते हैं।

किसी सरणी में लोड करने के लिए, एक नई प्लेलिस्ट फ़ाइल बनाएं (निर्देशिका जोड़ें पेड़ -> जोड़ें -> नई फ़ाइल "पर राइट क्लिक करें और वहां एक संपत्ति सूची ढूंढें; फ़ाइल ध्वनि सूची का नाम दें। अगला उस नई फ़ाइल को खोलें, राइट क्लिक करें उस पर जहां यह डिफ़ॉल्ट रूप से "शब्दकोश" कहता है, "वैल्यू टाइप" पर जाएं और "ऐरे" चुनें ... यदि आप उस लाइन के बहुत दूर दाईं ओर देखते हैं, तो आपको थोड़ा 3-बार दिखने वाला बटन दिखाई देगा, क्लिक करें कि अपना पहला आइटम "track01" "track02" आदि ... प्रत्येक पंक्ति में एक जोड़ने के लिए अब आप एक समय में एक आइटम जोड़ने के लिए,

यह कोड आपके ज फ़ाइल में चला जाता है:।।

NSArray* soundsList; 

यह कोड आप में जाता है आर मीटर फ़ाइल:

NSString *soundsPath = [[NSBundle mainBundle] pathForResource:@"soundslist" ofType:@"plist"]; 
soundsList = [[NSArray alloc] initWithContentsOfFile:soundsPath]; 

सरणी हमेशा सूचकांक # 0 में शुरू ... इसलिए यदि आप 5 पटरियों है, track01 सूचकांक 0 होगा, track02 सूचकांक 1, और इतने पर किया जाएगा।

int i = 0; 

for (i; i <= ([soundsList count] - 1); i++) { 

    NSLog(@"soundsList contains %@", [soundsList objectAtIndex:i]); 

} 

सब करता है गिनती कितने आइटम अपने सरणी में (यानी 5 या 10 या फिर भी कई गाने हैं: आप जल्दी से अपने सरणी मतदान पर क्या क्या है यह देखने के लिए चाहते हैं, आप कोड के इस बिट जोड़ सकते हैं) और objectAtIndex: ऑब्जेक्ट को आपके द्वारा भेजे जाने वाले इंडेक्स नंबर पर वापस कर देगा।

बैक-टू-प्ले बैक तुम सिर्फ audioPlayerDidFinishPlaying विधि में अगर-तो बयान कर दिया था

आप फ़ाइल खेलना चाहते हैं, तो आप क्या कर सकते हैं के लिए:

NSString* filename = [soundsList objectAtIndex:YOURINDEXNUMBER]; 
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"mp3"]; 

AVAudioPlayer * newAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
self.theAudio = newAudio; // automatically retain audio and dealloc old file if new file is loaded 

[newAudio release]; // release the audio safely 

theAudio.delegate = self; 
[theAudio prepareToPlay]; 
[theAudio setNumberOfLoops:0]; 
[theAudio play]; 

जहां YOURINDEXNUMBER जो भी ट्रैक # आप खेलना चाहते हैं (याद रखें, 0 = track01, 1 = track02, आदि)

यदि आपको अपनी .h फ़ाइल में चर सेट अप करने में मदद की ज़रूरत है, तो मुझे बताएं और मैं इसके माध्यम से आपको चल सकता हूं।साथ ही, अपने dealloc विधि में theAudio को रिलीज़ करना याद रखें ताकि जब प्रोग्राम निकल जाए तो यह इसे रिलीज़ करेगा।

0

आपके कोड यू में आपके प्लेयर को याद कर सकते हैं और ऑडियो प्लेयरडिडफिनिश प्लेइंग में फिर से ध्वनि चला सकते हैं और ट्रैक कर सकते हैं कि कितना ट्रैक (काउंटर का उपयोग करके)।

बनाना कंडीशनिंग कोड यू का प्रबंधन उर खिलाड़ी फिर से और फिर बार-बार 10 ट्रैक चलाने के लिए .....

अधिक कार्यक्षमता के लिए यू AVAudio खिलाड़ी वर्ग संदर्भ से संदर्भ मिलता है ...

बेहतर यू लग रहा है के लिए अलग बटन और कस्टम वॉल्यूम घुमाओ नोब .... कोरएनीमेशन कक्षा का उपयोग ....

भाग्य का सर्वश्रेष्ठ

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