प्रौद्योगिकी साझेदारी

Audio Toolbox इत्यस्य Audio Services इत्यस्य उपयोगेन AAC वादयन्तु

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Audio Toolbox इत्यस्य Audio Services इत्यस्य उपयोगेन AAC वादयन्तु

Audio Toolbox इत्यस्य Audio Services इत्यस्य उपयोगेन AAC वादयन्तु

मुख्यतया ३ चरणेषु विभक्तम् : १.

  1. उपयुञ्जताम्‌ AudioServicesCreateSystemSoundID प्रणालीध्वनयः रचयन्तु।
  2. उपयुञ्जताम्‌ AudioServicesAddSystemSoundCompletion कॉलबैक् सेट् कुर्वन्तु।
  3. उपयुञ्जताम्‌ AudioServicesPlaySystemSound क्रीडितुं आरभत।

विषये AudioServicesPlaySystemSound नियोग:

एतत् कार्यं लघुध्वनिं (अवधिः ३०s वा न्यूनं वा) वादयति । यतः शब्दः कतिपयसेकेण्ड् यावत् वादयितुं शक्नोति, अतः एतत् कार्यं अतुल्यकालिकरूपेण क्रियते ।कदा शब्दस्य वाद्यं समाप्तम् इति ज्ञातुं आह्वानं कुर्वन्तुAudioServicesAddSystemSoundCompletion function इत्यस्य पञ्जीकरणार्थं callback function इति ।

केषुचित् iOS उपकरणेषु, भवान् शक्नोति AudioServicesPlaySystemSound(kSystemSoundID_Vibrate) स्पन्दनम् आह्वयितुं । अन्येषु iOS उपकरणेषु एतेन नित्येन सह एतत् कार्यं आह्वयितुं कोऽपि प्रभावः नास्ति ।

एतत् कार्यं यत् श्रव्यसञ्चिकां वादयितुं शक्नोति तस्य सीमाः निम्नलिखितरूपेण सन्ति ।

  • अवधिः ३० सेकेण्ड् इत्यस्मात् अधिकः न भवति
  • रेखीय PCM अथवा IMA4 (IMA/ADPCM) प्रारूपेण
  • पैकेज्ड् इन क .caf, .aif, वा .wav संचिका

परन्तु वस्तुतः AAC सञ्चिकाः सामान्यतया अपि वादयितुं शक्यन्ते तदतिरिक्तं अस्य कार्यस्य बहवः सीमाः सन्ति ।

  • ध्वनिः वर्तमानप्रणालीश्रव्यमात्रायां वादयति, यत्र प्रोग्रामितं मात्रानियन्त्रणं नास्ति ।
  • सद्यः शब्दः वादयति।
  • लूपिङ्ग्, स्टीरियो पोजिशनिंग् च समर्थितं नास्ति ।
  • युगपत् वाद्यं न सम्भवति, एकस्मिन् समये एकः एव शब्दः वादयितुं शक्यते ।
  • ध्वनिः उपकरणस्पीकर्-मध्ये स्थानीयतया वाद्यते, श्रव्यमार्गस्य उपयोगं न करोति ।

मूलसङ्केतः : १.

- (void)btnClick:(UIButton *)sender
{
    self.mButton.hidden = YES;
    NSURL *audioUrl = [[NSBundle mainBundle] URLForResource:@"music" withExtension:@"aac"];
    SystemSoundID soundID;
    // create a system sound object
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)audioUrl, &soundID);
    // register a callback function that is invoked when a specified system sound finishes playing
    AudioServicesAddSystemSoundCompletion(soundID, NULL, NULL, &playCallback, (__bridge void *_Nullable)(self));
    // play a system sound object
    AudioServicesPlaySystemSound(soundID);
}

void playCallback(SystemSoundID ssID, void  *clientData)
{
    ViewController *vc = (__bridge ViewController *)clientData;
    vc->_mButton.hidden = NO;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

परियोजना पता: https://github.com/UestcXiye/AudioToolboxSystemSound.