2009-09-25 5 views
4

내 iPhone 앱에서 mp3 파일을 wav/aiff로 변환 할 수있는 방법이 있습니까? mp3가 있지만 다른 파일과 결합하려는 경우 PCM 형식을 사용할 때 이것이 가능하다는 것을 알 수있는 유일한 방법입니다.iPhone - mp3를 wav로 변환 하시겠습니까?

누구든지 나를 도와 줄 수 있습니까?

감사합니다.

어떤 것들은 내가

내가 0 모든 아이디어를 어떻게 할 수 또는 읽기 카페에 MP3하지만 패킷 당 및 프레임 당 바이트를 변환 할 AudioConverterFillComplexBuffer() 메소드 콜백을 사용하여 시도 시도 내가이 기능을 사용할 수 있는지 여부?

다시 한번 감사드립니다.

+1

이 질문에 core-audio 태그를 추가해야합니다. – invalidname

+0

아마도 SU에 있어야할까요? –

답변

12

WAV 및 AIFF는 종종 (보통?) PCM을 포함하므로 그 반대가 무엇입니까? 또는 MP3 데이터를 PCM으로 가져와 (아마도 멀티 채널 믹서 오디오 장치에서) 믹싱해야한다는 말입니까? 당신이 심각하게이 작업을 수행하려면, 특히, 코어 오디오를 보면 :

  • 오디오 파일 서비스 (MP3 포맷을 읽을 수 및 AIFF 또는 WAV 쓰기)에 MP3 데이터를 변환 (
  • 오디오 파일 변환 서비스 PCM 및/또는 파일을 작성하는 경우 PCM에서 다른 코덱으로 인코딩 할 수 있습니다). 주어진 변환기는 두 가지 인코딩 된 형식간에 변환 할 수 없습니다. MP3-to-PCM 또는 PCM-to-AAC를 할 수 있지만 MP3-AAC를 수행하려면 두 개의 컨버터가 필요합니다.
  • 위의 두 가지를 결합한 확장 오디오 파일 서비스.

코어 오디오 SDK에서 ConvertFile example을 확인하십시오. 이것은 읽기를위한 소스 파일을 열고, 목표 파일의 원하는 형식을 설명하고, 하나의 파일을 읽고 다른 파일에 기록합니다. 코드는 파일 서비스 + 변환 서비스를 별도로 사용하고 ExtAudioFiles를 편리하게 사용합니다.

또한 코덱과 파일 형식의 차이와 합법적 인 코덱/형식 조합을 이해해야합니다. PCM이 AIFF의 빅 엔디안 인 WAV에서 리틀 엔디안이어야한다는 사실을 처음 알게되었을 때 놀랐습니다.

+0

일부 파일이 코드에서 누락 된 것 같습니다. 위의 링크에서 다운로드 한 파일은 "PublicUtility"그룹의 파일이 누락되었습니다. – lostInTransit

+2

내 시스템에서 PublicUtility 파일은/Developer/Extras/CoreAudio에 있으며 Xcode 도구를 설치할 때 Core Audio SDK의 일부로 설치됩니다. – invalidname

0

올바른 코어 오디오 장치 세트를 사용하면이 작업을 수행 할 수는 있지만 많은 CPU가 사용됩니다. 당신은 가능한 한 미리 데이터를 변환해야합니다 (아마도 빌드시에?).