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

Воспроизвести звук - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Воспроизведение аудио из памяти используя AVAydioPlayer http://www.cyberforum.ru/objective-c/thread1461886.html
Здравствуйте. Моя задача состоит в проигрывании аудио из микрофона в режиме реального времени. Я сначала создаю сессию, следующим образом AVAudioSession *audioSession = ; ; //; ; ...
Objective-C Изменить программно название кнопки Здравствуйте. Я хочу при запуске программы изменить название кнопки на актуальную дату в формате (ДД.ММ.ГГГГ) Подскажите пожалуйста что писать после setTitle и правильно ли я пытаюсь получать дату?... http://www.cyberforum.ru/objective-c/thread1461367.html
Сортировка многомерного массива чисел Objective-C
Добрый день. Подскажите как отсортировать массив, элементами которого являются массивы? Есть массив внутри которого массивы из 3 элементов (матрица 3х3) (@, @, @) нужно отсортировать матрицу по...
Реализация двухфакторной аутентификации! Objective-C
Доброе время суток, уважаемые форумчане! Подскажите, как реализовать двухфакторную аутентификацию для входа в OS X? Готовые решения не интересуют(Pam usb, Rohos, стандартный клиент eToken и т.д.)....
Objective-C Кнопка из картинки http://www.cyberforum.ru/objective-c/thread1446612.html
Перелопатив кучу информации я пришел к выводу что конкретного "официального" метода сделать из картинки кликабельную кнопку нет. Максимум, что получилось найти это брать цвет пикселя и на его основе...
Objective-C @property или ivar Добрый день! Занимаюсь Objective C недавно, и, до сегодняшнего времени, не задавался вышеупомянутым вопросом. В учебниках и статьях разброд, многие вообще все свойства выкидывают в .h файл,... подробнее

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

Воспроизвести звук - Objective-C

01.06.2015, 05:34. Просмотров 728. Ответов 2
Метки (Все метки)

Здравствуйте.

У нас есть void массив mdata на 2048 байт (надеюсь знакомая ситуация), и вот этот массив нужно воспроизвести.

Пробуем AVAudioPlayer, документация пытается убедить нас, что инициализировать этот объект можно с помощью NSData, но всегда выходит nill.

Вот пример, когда мы имеем массив для воспроизведения

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
AudioBufferList audioBufferList;
        NSMutableData *data = [[NSMutableData alloc] init];
        CMBlockBufferRef blockBuffer;
        CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, kCMSampleBufferFlag_AudioBufferList_Assure16ByteAlignment, &blockBuffer);
        
        for( int y=0; y< audioBufferList.mNumberBuffers; y++ ){
            
            AudioBuffer audioBuffer = audioBufferList.mBuffers[y];
            //Byte *frame = (Byte*)audioBuffer.mData;
            
            [data appendBytes:audioBuffer.mData length:audioBuffer.mDataByteSize];
            
        }
        
        CFRelease(blockBuffer);
        
        NSError *err;
        AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error:&err];
        NSLog(@"%@", err);
        [player play];
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru