문제

iPhone 앱에서 MP3 파일을 Wav/Aiff로 변환 할 수있는 방법이 있습니까? MP3가 있지만 다른 파일과 결합하고 싶습니다.이 작업을 수행 할 수있는 유일한 방법은 PCM 형식을 사용할 때입니다.

누구든지 여기서 나를 도울 수 있습니까?

감사.

내가 시도한 것들

AudioConverterfillComplexBuffer () 메소드와 그 콜백을 사용하여 MP3를 CAF로 변환하기 위해 콜백을 사용했지만 패킷과 프레임 당 바이트는 0으로 읽습니다.

다시 한 번 감사드립니다.

도움이 되었습니까?

해결책

Wav와 Aiff (보통?)는 종종 PCM을 포함하므로 이의는 무엇입니까? 아니면 혼합하기 위해 MP3 데이터를 PCM에 가져와야한다고 말하고 있습니까 (아마도 멀티 채널 믹서 오디오 장치). 이 작업을 진지하게하고 싶다면 Core Audio를보십시오.

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

확인하십시오 ConvertFile 예제 핵심 오디오 SDK에서. 이것은 읽기를위한 소스 파일을 열고, 원하는 대상 파일의 원하는 형식을 설명하고, 하나의 버퍼를 읽고, 다른 하나에 씁니다. 이 코드는 파일 서비스 + 변환 서비스의 별도의 사용과 excudiofiles의 편리한 사용을 모두 보여줍니다.

또한 코덱과 파일 형식의 차이점과 코덱/형식 조합이 합법적인지 이해하십시오. 나는 PCM이 AIFF의 Big-Endian에서 Little-Endian이어야한다는 것을 처음 알게되었다는 사실에 놀랐습니다.

다른 팁

올바른 핵심 오디오 장치 세트 로이 작업을 수행 할 수 있지만 아마도 많은 CPU를 사용할 것입니다. 가능하다면 데이터를 미리 (빌드 시간에?)를 변환해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top