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

Core Audio - Программирование iOS/iPhone

Восстановить пароль Регистрация
Другие темы раздела
Программирование iOS/iPhone Первый кадр видео http://www.cyberforum.ru/ios-dev/thread862709.html
Здравствуйте! Нужен в программе для iPhone взять первый кадр из видео и передать его в imageview для tableview Перерыл интернет, нет примеров?:( Кто знает? Всех благ Добавлено через 2 часа 29 минут В общем то простой код не работает:
Программирование iOS/iPhone box2d создания уровней Привет. У меня вот есть .plist файл в котором хранится например 300 точек. Ето мой путь в уровне. Диапазон значений например от (0,0) до (10000,320) px. Я создаю 1 статическое тело (это будет путь) по которому будет перемещятся обьект. int countElement = (int) contentArray.count; b2Vec2 *vec = new b2Vec2 ..... generate points to vec b2ChainShape chain; chain.CreateChain(vec,countElement... http://www.cyberforum.ru/ios-dev/thread862042.html
Pascal в xCode, возможно ли? Программирование iOS/iPhone
Добрый день, я пишу программы на паскале, но решил написать на своем маке легенькую программу, обычные пост запросы.. но С++ или какой там язык вообще не знаю.. макимум могу сделать предупредительное сообщение... скажите как можно в xCode писать на паскале?
Программирование iOS/iPhone Я наверное маньяк. А можно ли. ?)
Можно ли писать программы на ассамблере под iOS ? Возможно уже есть ассамблер который ставится на платформу iOS ?
Программирование iOS/iPhone анимация View http://www.cyberforum.ru/ios-dev/thread860136.html
Здравствуйте! Использую этот метод для анимации(передвижения) view ; У этого view установлена тень self.childView.layer.shadowOffset=CGSizeMake(-1, 0); self.childView.layer.shadowOpacity=.8; так вот при запуске на симуляторе все норм, но если я запускаю на iPhone 4 то при анимации начинаются лаги. Если я убираю тень т.е. : self.childView.layer.shadowOffset=CGSizeMake(-1, 0); ...
Программирование iOS/iPhone AdBannerView на все Views Хочу вставить баннер на большинство views. В основном используются TableView. Решил для баннера использовать TableHeader у TableView. Apple рекомендует в таких случаях не создавать баннеры для каждого окна, а использовать один (shared). Создал такой класс: #import <Foundation/Foundation.h> #import <iAd/iAd.h>@interface AdManager : NSObject <ADBannerViewDelegate> @property (nonatomic,... подробнее

Показать сообщение отдельно
Death
4 / 4 / 1
Регистрация: 18.10.2009
Сообщений: 44
13.05.2013, 00:52  [ТС]     Core Audio
Извените
Проблема такова. Пытаюсь создать граф. Mixer -> NBandEQ -> Output.

В Mixer юнит через свойства привязываю колбек для получение данных. т,е источник данных у меня это Mixer.

Если без NBandEQ звук воспроизводиться нормально, если сразу подать на Output. Т,е граф получается такой Mixer -> Output.

Если добавить вершину NBandEQ, то приложение пишит что неизвестный формат и ничего не происходит, тоже самое и остальными и эфектами. Ошибок при создание и инциализирование вершины нету.

Формат я указываю. Формат PCM у меня. Иначе во первых не было бы звука. Да вообще чтобы производить эффекты над звуком, должен быть звук раскодирован.

Едиственный какой эфект срабатывает, это AUiPodEQ. Как быть?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
AURenderCallbackStruct inputCallbackStruct;
inputCallbackStruct.inputProc = ipodRenderCallback;
inputCallbackStruct.inputProcRefCon = (__bridge void*)self;
 
AUGraphSetNodeInputCallback (
processingGraph,
mixerNode,
0,
&inputCallbackStruct
);
 
AudioUnitSetProperty (
mixerUnit,
kAudioUnitProperty_StreamFormat,
kAudioUnitScope_Input,
mainBus,
&SInt16StereoStreamFormat,
sizeof (SInt16StereoStreamFormat)
);
Связать kAudioUnitSubType_AudioFilePlayer ->kAudioUnitSubType_NBandEQ -> kAudioUnitSubType_RemoteIO - это нормально получается. Но вот если нужно в графе есть микшер, а затем после него делать вершины с эфектами, то уже не работает. Как быть? Может кто-то пробывал делать какие-то эфекты, которые поступали из микреша?

Вот код.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
-(void) configureAndInitializeAudioProcessingGraph {
    
    
        OSStatus result = noErr;
        result = NewAUGraph (&processingGraph);
        
        if (noErr != result) {[self printErrorMessage: @"NewAUGraph" withStatus: result]; return;}
        
        
        
        AudioComponentDescription iOUnitDescription;
        iOUnitDescription.componentType          = kAudioUnitType_Output;
        iOUnitDescription.componentSubType       = kAudioUnitSubType_RemoteIO;
        iOUnitDescription.componentManufacturer  = kAudioUnitManufacturer_Apple;
        iOUnitDescription.componentFlags         = 0;
        iOUnitDescription.componentFlagsMask     = 0;
        
        AudioComponentDescription MixerUnitDescription;
        MixerUnitDescription.componentType          = kAudioUnitType_Mixer;
        MixerUnitDescription.componentSubType       = kAudioUnitSubType_MultiChannelMixer;
        MixerUnitDescription.componentManufacturer  = kAudioUnitManufacturer_Apple;
        MixerUnitDescription.componentFlags         = 0;
        MixerUnitDescription.componentFlagsMask     = 0;
    
 
        AudioComponentDescription EQDescription;
        EQDescription.componentType = kAudioUnitType_Effect;
        EQDescription.componentSubType = kAudioUnitSubType_NBandEQ;
        EQDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
        EQDescription.componentFlags = 0;
        EQDescription.componentFlagsMask = 0;
    
 
        result = AUGraphAddNode ( processingGraph,
                                 &iOUnitDescription,
                                 &iONode
                                 );
    
        if (noErr != result) {[self printErrorMessage: @"AUGraphNewNode failed for I/O unit" withStatus: result]; return;}
        
        result =  AUGraphAddNode (
                                  processingGraph,
                                  &MixerUnitDescription,
                                  &mixerNode
                                  );
    
    
    if (noErr != result) {[self printErrorMessage: @"AUGraphNewNode failed for Mixer unit" withStatus: result]; return;}
    
    
    
        result = AUGraphAddNode
                                (
                                 processingGraph,
                                 &EQDescription,
                                 &eqNode
                                 );
    
    
    
    result = AUGraphConnectNodeInput (
                                      processingGraph,
                                      mixerNode,
                                      0,
                                      eqNode,
                                      0
                                      );
    
    
    if (noErr != result) {[self printErrorMessage: @"AUGraphConnectNodeInput conv to eq" withStatus: result]; return;}
    
    result = AUGraphConnectNodeInput (
                                      processingGraph,
                                      eqNode,
                                      0,
                                      iONode,
                                      0
                                      );
    
    
        result = AUGraphOpen (processingGraph);
    
    
        if (noErr != result) {[self printErrorMessage: @"AUGraphOpen" withStatus: result]; return;}
        
        result = AUGraphNodeInfo (
                                    processingGraph,
                                    mixerNode,
                                    NULL,
                                    &mixerUnit
                                    );
 
    
        if (noErr != result) {[self printErrorMessage: @"AUGraphNodeInfo" withStatus: result]; return;}
    
        
        result = AUGraphNodeInfo (
                                    processingGraph,
                                    iONode,
                                    NULL,
                                    &ioUnit
                                   );
    
    
        result =    AUGraphNodeInfo  (
                                 processingGraph,
                                 eqNode,
                                 NULL,
                                 &eqUnit
                                 );
 
    
        if (noErr != result) {[self printErrorMessage: @"AUGraphConnectNodeInput eq to ionode" withStatus: result]; return;}
 
    
        [self setPropertyMixerUnit];
    
        result = AUGraphInitialize (processingGraph);
    
        if (noErr != result) {[self printErrorMessage: @"error" withStatus: result]; return;}   
}
 
-(void)setPropertyMixerUnit{
    
    UInt32 maximumFramesPerSlice = 4096;
    
    AudioUnitSetProperty (
                                   mixerUnit,
                                   kAudioUnitProperty_MaximumFramesPerSlice,
                                   kAudioUnitScope_Global,
                                   0,
                                   &maximumFramesPerSlice,
                                   sizeof (maximumFramesPerSlice)
                                   );
    
    AURenderCallbackStruct inputCallbackStruct;
    inputCallbackStruct.inputProc        = ipodRenderCallback;
    inputCallbackStruct.inputProcRefCon  = (__bridge void*)self;
    
    AUGraphSetNodeInputCallback (
                                          processingGraph,
                                          mixerNode,
                                          0,
                                          &inputCallbackStruct
                                          );
    
    AudioUnitSetProperty         (
                                   mixerUnit,
                                   kAudioUnitProperty_StreamFormat,
                                   kAudioUnitScope_Input,
                                   mainBus,
                                   &SInt16StereoStreamFormat,
                                   sizeof (SInt16StereoStreamFormat)
                                   );
}
Добавлено через 56 минут
Если конкретно что за ошибка, то AUGraphInitialize error: -10868
 
Текущее время: 08:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru