Захват и воспроизведение новых типов носителей с помощью AVFoundation

У меня очень нестандартный вопрос AVFoundation и как относительный новичок в мире iOS, я мог бы действительно использовать некоторые рекомендации от экспертов,

Я работаю над приложением, которое позволяет пользователю записывать биты аудио, которые мне нужно программно организовать с помощью AVMutableComposition . Вот что, помимо звуковой дорожки, я хочу захватить и сохранить данные акселерометра и синхронизировать ее со звуком. Обычно AVFoundation используется для известных типов носителей, таких как фотоснимки, аудио и видео, но мне было интересно, можно ли захватить что-то вроде данных акселерометра, используя эту структуру. Это значительно облегчило бы синхронизацию данных датчика с захваченным звуком, особенно при компоновке деталей вместе с AVMutableComposition .

Вот что мне нужно сделать:

  1. Запись данных акселерометра в качестве AVAsset/AVAssetTrack поэтому я могу вставить его в AVMutableComposition

  2. Разрешить воспроизведение данных акселерометра в пользовательском представлении наряду с аудио, которое было записано с помощью

  3. Сохраните AVMutableComposition на диске, включая дорожки аудио и акселерометра. Было бы неплохо использовать стандартный контейнер, например Quicktime

Для части 1 и 3 я рассматриваю использование AVAssetReader , AVAssetReaderOutput , AVAssetWriter , AVAssetWriterInput для захвата с акселерометра, но без особого опыта работы с Cocoa. Я пытаюсь выяснить, что именно мне нужно расширить. В этот момент я думаю, что мне нужно подклассы AVAssetReaderOutput и AVAssetWriterInput и работать с CMSampleBuffers чтобы разрешить преобразование между необработанными данными акселерометра и AVAsset . Я заметил, что большинство из этих классов имеют только один частный член, ссылающийся на конкретную реализацию (то есть AVAssetReaderInternal или AVAssetWriterInputInternal ). Кто-нибудь знает, является ли это общей моделью или что она означает для написания пользовательской реализации?

Я еще не очень подробно рассмотрел часть 2. В настоящее время я использую AVPlayer для воспроизведения звука, но я не уверен, как его распределить образцы данных из актива в мой пользовательский вид акселерометра.

Извиняюсь за такой открытый вопрос – я полагаю, что я ищу больше для руководства, чем для конкретного решения. Любые чувства в отношении того, насколько это возможно с архитектурой AVFoundations?

One Solution collect form web for “Захват и воспроизведение новых типов носителей с помощью AVFoundation”

Я бы использовал NSmutableArray и сохранил данные акселератора плюс временной код. Поэтому, когда вы играете, вы можете получить время от видеопроигрывателя и использовать его для поиска данных акселератора в массиве. Поскольку данные хранятся в виде временной строки, вам не нужно искать весь массив. Достаточно сделать шаг вперед в массиве и проверить, совпадают ли данные времени.

  • настройка новых свойств в категории интерфейса / реализации
  • Достижимость не работает должным образом
  • Вызов метода делегата, непризнанный селектор, потому что отправка на неверный объект
  • Fadein / out text animation
  • Уведомление загрузки AVQueuePlayer / AVPlayer?
  • Как я могу использовать CAMediaTimingFunction для отображения пользовательского значения?
  • UIView не прозрачен на устройстве iOS, но прозрачен на симуляторе
  • Могу ли я передать делегат в качестве параметра-c
  • Как получить локализованный Отмена, Готово и т. Д.?
  • Мысли о рабочем процессе сценариев, не связанных сценарием
  • Как преобразовать NSString в NSDate в этом формате: «2012-08-01T12: 43: 35 + 02: 00»?
  • Interesting Posts

    Google Диск и iOS8 UIDocumentPickerViewController – файл недоступен

    MPMoviePlayerController показывает черный пустой экран

    CTTelephonyCenterAddObserver не уведомляет о получении SMS-сообщений

    Быстрое преобразование YUV420P в RGBA на iOS с использованием процессора

    Отправка электронной почты без использования MFMailComposeViewController

    Как изменить кнопку UIAlertAction Цвет в iOS?

    Предупреждение о домашней кнопке iOS, возможно ли это?

    Файл ics – Не удается открыть прикрепленный файл .ICS в iOS7

    Как нарисовать много кнопок для клавиатуры в iOS

    Получение XML-файла с сервера, а затем его разбор

    Как узнать, если это ваш первый запуск?

    Можно ли переопределить методы категорий? IOS

    Изменение размера изображений с помощью CGImageCreate для уменьшения использования памяти

    iOS Provisioning and Certifcates – Будет ли отменять / обновлять приложения App Store?

    Алгоритм определения замкнутого контура в iOS

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.