2011-09-19 2 views
3
새로운 미디어 유형을 재생

나는 아주 비표준 AVFoundation 질문이 있는데 아이폰 OS 세계에 상대적으로 초보자로서 정말 거기에 전문가의 몇 가지 지침을 사용할 수 있습니다 AVMutableComposition을 사용하여 프로그래밍 방식으로 배열해야하는 오디오 비트를 사용자가 녹음 할 수있게 해주는 앱에서 작업합니다. 여기에 가속도계 데이터를 캡처하고 저장하고 사운드와 동기화하려는 오디오 트랙 외에도이 기능이 있습니다. 일반적으로 AVFoundation은 스틸 사진, 오디오 및 비디오와 같은 알려진 미디어 유형에 사용되지만이 프레임 워크를 사용하여 가속도계 데이터와 같은 것을 캡처 할 수 있는지 궁금합니다. 이렇게하면 특히 부품을 AVMutableComposition과 함께 사용할 때 센서 데이터를 캡처 된 오디오와 훨씬 쉽게 동기화 할 수 있습니다. 함께 사용자 지정보기에 가속도계 데이터의 재생을 허용캡처 및 AVFoundation

  1. 기록 가속도계 데이터를 AVAsset/AVAssetTrack 정도로 내가 AVMutableComposition

  2. 에 삽입 할 수 있습니다 : 여기

    내가 달성해야 할 것입니다 녹음 된 오디오

  3. 오디오 및 가속도계 트랙을 모두 포함하여 AVMutableComposition을 디스크에 저장하십시오. 가속도계에서하지만 '코코아 I와 많은 경험없이 캡처 AVAssetReader, AVAssetReaderOutput, AVAssetWriter, AVAssetWriterInput 클래스를 사용하여 한 번에 1 부 & 3 내가 찾고 있어요 들어 퀵타임

같은 표준 컨테이너를 사용하는 것이 좋을 것이다 나는 내가 무엇을 확장해야하는지 정확하게 파악하려고 노력하고있다. 이 시점에서 AVAssetReaderOutputAVAssetWriterInput을 서브 클래스 화하고 CMSampleBuffers과 작업하여 원시 가속도계 데이터와 AVAsset 사이의 변환을 허용해야한다고 생각합니다. 나는 대부분의 수업에서 구체적인 구현 (예 : AVAssetReaderInternal 또는 AVAssetWriterInputInternal)을 참조하는 단일 개인 회원 만 있다는 것을 확인했습니다. 누구든지 이것이 일반적인 패턴인지, 아니면 커스텀 구현을 작성하는데 어떤 의미인지를 알고 있습니까?

아직 제 2 부에는 많은 생각이 없습니다. 현재 AVPlayer을 사용하여 오디오를 재생하고 있지만 자산에서 샘플 데이터를 맞춤 가속도계보기로 분배하는 방법을 잘 모르겠습니다.

개방형 질문에 대한 사과 - 특정 솔루션보다 더 많은 도움이 필요하다고 생각합니다. 이것이 AVFoundations 아키텍처에서 가능한지 여부에 대한 어떠한 장담감?

+0

가속도계 데이터 재생이란 무엇입니까? 데이터를 어떻게 표시 하시겠습니까? – Daniel

+0

가속도계 재생을 기반으로 무언가를 렌더링하는 사용자 지정 UIView가 있습니다. 오디오 및 가속도계 트랙을 'AVPlayer'에 'AVPlayerItem'으로 전달하고 싶지만 'AVPlayer'에 어떻게 AVPlayer '대리인은 실제 샘플을 재생하거나 판매합니다. 나는'addPeriodicTimeObserverForInterval : ..'로 재생 알림을 등록하는 것에 대해 생각해 보았지만 그냥 그 내용을 렌더링 했었지만 이제는 애플이'AVPlayerLayer'라고 말하면서 그랬는지 확신 할 수 없다. 아니면 그렇지? – weston

답변

0

나는 NSmutableArray를 사용하고 액셀 러 레이터 데이터와 거기에 타임 코드를 저장합니다. 따라서 재생할 때 비디오 플레이어에서 시간을 가져 와서 배열에서 가속기 데이터를 조회 할 수 있습니다. 데이터가 타임 라인으로 저장되기 때문에 전체 배열을 검색 할 필요가 없습니다. 배열에서 앞으로 나아가서 시간 데이터가 일치하는지 확인하는 것으로 충분합니다.

+0

AVFoundation의 컴포지션 기능을 활용하고 오디오 및 가속도계 데이터가 인터리브 된 Quicktime 파일을 작성하고 싶습니다. – weston

관련 문제