Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сохранение Audio Unit - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Можно ли сделать в NSTableView категории? http://www.cyberforum.ru/objective-c/thread1649463.html
Доброго времени суток, господа. Есть вопрос. Можно ли сделать в NSTableView категории, чтоб при выборе какой-нибудь строки она разворачивались и там была развернутая инфа?
Objective-C Нужен совет по изучению objective-c здравствуйте, хочу изучить objective для разработки мобильных приложений. я самоучка, сказали сначала с си начни.......изучил на среднем уровне, т.е. типы данных, массивы, функции, структуры изучил,... http://www.cyberforum.ru/objective-c/thread1645599.html
Код на С надо включить в код на ObjC Objective-C
Пишем игру, код в основном готов. Стоит локальная задача включения кода на С (отдельные куски программировались на Xcode на С, так привычнее) в код на Objective-C, - классы понадобились всё-таки!...
NSMutableDictionary и plist Objective-C
Привет! Записываю данные, введенные пользователем, в plist, однако он перезаписывается. Что я делаю не так? Заранее благодарю. - (void)viewDidLoad { ; ; UIDatePicker *datePicker =...
Objective-C Работа с iTunes Получение сведений http://www.cyberforum.ru/objective-c/thread1637543.html
Доброго времени суток. Хочу спросить. Есть ли возможность в своей аппе получить доступ ко всем ресурсам в iTunes, чтоб получить сведения о песнях, альбомах и артистам? Заранее спасибо.
Objective-C Добавление строк в UITextView Столкнулся с проблемой, что необходимо выводить последовательно строки на TextView. При записи: self.TextView.text=text_toView; происходит замена текста, а необходимо именно добавление строк.... подробнее

Показать сообщение отдельно
MrRay
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 4

Сохранение Audio Unit - Objective-C

28.01.2016, 14:01. Просмотров 324. Ответов 0
Метки (Все метки)

Необходимо организовать сохранение AVAudioPlayerNode, на который добавлено много всяких эффектов. Пишу под мак. Есть вот такая реализация http://stackoverflow.com/questions/3...-unit-and-writ. (или на гите: https://github.com/VladimirKravchenk...eOfflineRender)Однако к сожалению она работает только на iOS, если я правильно понял то нужно каким-то образом исправить вот этот кусок:
Objective-C
1
2
3
4
5
6
7
8
 UInt32 codecManufacturer = kAppleSoftwareAudioCodecManufacturer;
    status = ExtAudioFileSetProperty(
            audioFile, kExtAudioFileProperty_CodecManufacturer, sizeof(UInt32), &codecManufacturer
    );
    status = ExtAudioFileSetProperty(
            audioFile, kExtAudioFileProperty_ClientDataFormat, sizeof(AudioStreamBasicDescription), audioDescription
    );
    status = ExtAudioFileWriteAsync(audioFile, 0, NULL);
Во-первых я не знаю на что нужно заменить kAppleSoftwareAudioCodecManufacturer,поскольку оно только под iOS.
Во-вторых даже если я выставил другое свойство, то получаю сообщение в логах: Can not render audio unit


Пытаюсь заменить код вот на это:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 /***Getting the size of a Property***/
    UInt32 size = 4096;
    
    
    //Gets the size of the Stream Format Property and if it is writable
    status = AudioUnitGetPropertyInfo(self.engine.outputNode.audioUnit,
                                               kAudioUnitProperty_StreamFormat,
                                               kAudioUnitScope_Output,
                                               0,
                                               &size, NULL);
    
    //Get the current stream format of the output
    status = AudioUnitGetProperty (self.engine.outputNode.audioUnit,
                                   kAudioUnitProperty_StreamFormat,
                                   kAudioUnitScope_Output,
                                   0,
                                   &destinationFormat,
                                   &size);
    
    //Set the stream format of the output to match the input
    status = AudioUnitSetProperty (self.engine.outputNode.audioUnit,
                                   kAudioUnitProperty_StreamFormat,
                                   kAudioUnitScope_Input,
                                   0,
                                   &destinationFormat,
                                   size);
    
    UInt32 codecManufacturer = kAudioUnitManufacturer_Apple;
    status = ExtAudioFileSetProperty(
                                     audioFile, kExtAudioFileProperty_CodecManufacturer, sizeof(UInt32), &codecManufacturer
                                     );
    status = ExtAudioFileSetProperty(
                                     audioFile, kExtAudioFileProperty_ClientDataFormat, sizeof(AudioStreamBasicDescription), audioDescription
                                     );
    status = ExtAudioFileWriteAsync(audioFile, 0, NULL);
Итак вопрос в том, каким образом изменить код из той реализации, чтобы сохранение заработало под OS X?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru