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

AVAudioPlayerNode вылет аппы - Objective-C

Войти
Регистрация
Восстановить пароль
 
Ivaner00
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 35
31.03.2016, 13:43     AVAudioPlayerNode вылет аппы #1
привет всем, возникла такая беда. Что во при переключении треков во время воспроизведения вылетает аппа, причем на эмулятор все нормально, а на девайсе вылет

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
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
-(void)createAVLeft:(NSURL *)urlFile
             lowLow:(float)lowLow
                low:(float)low
               band:(float)band
              hight:(float)hight
         highthight:(float)hightHight
              delay:(float)delay
             reverb:(float)reverb
             volume:(float)volume
{
 
 self.leftPlayer =[[AVAudioPlayerNode alloc]init]; 
    audioLeftDelay = [[AVAudioUnitDelay alloc]init];
    audioLeftDelay.lowPassCutoff=lowPassCutoff;
    audioLeftDelay.delayTime = 0.1f;
    audioLeftDelay.bypass=false;
    audioLeftDelay.wetDryMix=delay;
    
    audioLeftReverb = [[AVAudioUnitReverb alloc]init];
    [audioLeftReverb loadFactoryPreset:AVAudioUnitReverbPresetCathedral];
    audioLeftReverb.wetDryMix=reverb;
    
    
    audioLeftEQ = [[AVAudioUnitEQ alloc]initWithNumberOfBands:5];
    audioLeftEQ.globalGain=volume-70;
    engineLeft=[[AVAudioEngine alloc]init];
    audioLeftEQ.bands[0].filterType=AVAudioUnitEQFilterTypeParametric;
    audioLeftEQ.bands[0].frequency=60.f;
    audioLeftEQ.bands[0].bandwidth=5.f;
    audioLeftEQ.bands[0].gain=lowLow;
    audioLeftEQ.bands[0].bypass=NO;
    
    audioLeftEQ.bands[1].filterType=AVAudioUnitEQFilterTypeParametric;
    audioLeftEQ.bands[1].frequency=250.f;
    audioLeftEQ.bands[1].bandwidth=5.f;
    audioLeftEQ.bands[1].gain=low;
    audioLeftEQ.bands[1].bypass=NO;
    
    audioLeftEQ.bands[2].filterType=AVAudioUnitEQFilterTypeParametric;
    audioLeftEQ.bands[2].frequency=1000.f;
    audioLeftEQ.bands[2].bandwidth=5.f;
    audioLeftEQ.bands[2].gain=band;
    audioLeftEQ.bands[2].bypass=NO;
    
    audioLeftEQ.bands[3].filterType=AVAudioUnitEQFilterTypeParametric;
    audioLeftEQ.bands[3].frequency=4000.0f;
    audioLeftEQ.bands[3].bandwidth=5.f;
    audioLeftEQ.bands[3].gain=hight;
    audioLeftEQ.bands[3].bypass=NO;
    
    audioLeftEQ.bands[4].filterType=AVAudioUnitEQFilterTypeParametric;
    audioLeftEQ.bands[4].frequency=16000.0f;
    audioLeftEQ.bands[4].bandwidth=5.f;
    audioLeftEQ.bands[4].gain=hightHight;
    audioLeftEQ.bands[4].bypass=NO;
    
    
    NSError *err;
    //    mainMixer = [engineLeft mainMixerNode];
    //  [self.rightPlayer stop];
   // self.leftPlayer =[[AVAudioPlayerNode alloc]init];
    fileLeft=[[AVAudioFile alloc]initForReading:urlFile error:&err];
    [engine attachNode:self.leftPlayer];
    [engine attachNode:audioLeftEQ];
    [engine attachNode:audioLeftDelay];
    [engine attachNode:audioLeftReverb];
    
    
    NSLog(@"%@",[urlFile description]);
    NSLog(@"Косяк чтения БУФЕРА");
    leftBuffer = [[AVAudioPCMBuffer alloc]initWithPCMFormat:fileLeft.processingFormat frameCapacity:(uint32_t)fileLeft.length];
    [fileLeft readIntoBuffer:leftBuffer error:&err];
    if (err) {
        NSLog(@"error %@",[err localizedDescription]);
        return;
    }
    NSLog(@"Подключение элементов 1");
    [engine connect:self.leftPlayer to:audioLeftEQ format:leftBuffer.format];
    NSLog(@"Подключение элементов 2");
    [engine connect:audioLeftEQ to:audioLeftDelay format:leftBuffer.format];
    NSLog(@"Подключение элементов 3");
    [engine connect:audioLeftDelay to:audioLeftReverb format:leftBuffer.format];
    NSLog(@"Подключение элементов 4");
    [engine connect:audioLeftReverb to:outMixer format:leftBuffer.format];
    NSLog(@"Подключение элементов 5");
    NSLog(@"%ld",indexQ++);
     NSLog(@"engine Косяк именно тут: %@",[urlFile path]);
//Вылет происходит вот тут
    [engine connect:outMixer to:engine.outputNode format:leftBuffer.format];
//Вот тут
    NSLog(@"Лефт плеер");
    [self.leftPlayer scheduleBuffer:leftBuffer atTime:nil options:AVAudioPlayerNodeBufferLoops completionHandler:nil];
    [engine  prepare];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2016, 13:43     AVAudioPlayerNode вылет аппы
Посмотрите здесь:

Вылет программы C++/CLI
MS Access вылет запроса
Вылет Windows 7
Вылет программы Free Pascal
Вылет винды BSOD
Windows 7 Вылет Windows
Вылет из игрушек
C (СИ) Вылет из программы
Вылет программ Windows 7
Неверная логика аппы C++
Отправка данных из аппы в формате pdf
AVAudioPlayerNode добавление эффектов из файла Objective-C

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru