2011-09-24 4 views
0

내 응용 프로그램은 많은 양의 오디오 데이터를 M4A 파일로 인코딩해야합니다. 현재 모든 데이터를 인코딩하는 데 몇 분이 걸리는 것을 제외하고는 잘 작동하는 AVAssetWriter를 사용하고 있습니다. 프로세스가 완료 될 때까지 사용자가 앱을 계속 실행하도록 요청하는 대신 앱이 종료되고 다시 시작될 때 인코딩을 일시 중지하고 싶습니다.
AVAssetWriter는 초기화 할 때 항상 새 파일을 생성하므로이 기능을 지원하지 않는 것 같습니다.
사용할 수있는 다른 API를 알고 계십니까? 타사 라이브러리일까요?여러 응용 프로그램 시작에 걸쳐 오디오 인코딩을 분할하는 방법은 무엇입니까?

답변

0

이것은 정확히 배경 처리가 의도 한 것입니다. 10 분 이내에 완료 할 수있는 한 beginBackgroundTaskWithExpirationHandler:을 사용하면 사용자가 응용 프로그램을 전환 한 후에도 계속 실행되도록 시스템에 요청할 수 있습니다. iOS Application Programming Guide에서 Completing a Finite-Length Task in the Background을 참조하십시오. 이 방법이 가장 간편 할뿐만 아니라 최상의 사용자 환경을 제공합니다.

오디오 파일이 재개 불가능한 방식으로 10 분 이상 오래 걸릴 수있는 경우에만 문제가 발생할 수 있습니다. 이것이 실제 가능성이 있다면, 당신은 또 다른 해결책이 필요합니다.

+0

답변 해 주셔서 감사합니다. 인코딩 할 데이터의 양은 사용자가 정의하므로 시간 제한이없는 솔루션을 선호합니다. 백그라운드에서 앱을 실행하는 동안 하드웨어 지원 인코딩이 다른 앱의 오디오 재생에 미치는 영향에 대해서도 확신하지 못합니다. – chrisklaussner

관련 문제