2011-11-02 3 views
2

저는 Apple에서 제공 한 코드를 사용하여 오디오 장치 그래프를 구현하려고 시도했습니다 : IphoneMixerEQGraphTest. 자신이 제공 한 예를 끝없이 반복)오디오 장치 그래프 일시 중지 및 반복

2. 재생을 일시 정지 할 수있는 방법을 찾을 수 없습니다

1) : 지금까지 나는 두 가지 문제가 발생했습니다. 반복을 사용하지 못하게 할 수있는 방법이 있습니까? 아니면 타이머를 사용하여 버퍼 값을 가로 챌 것인가?

감사합니다.

답변

1

NO 지금까지 기능상에게

를 반복하지 나는 오디오 정지를 처리 ​​할 수있는 방법을 발견했다 - 그것은 꽤하지 비록 : 나는 AVAudioPlayer에서 동일한 오디오 파일을로드

-과 사운드 파일의 지속 시간에서 얻을 . 그런 다음, 사운드 파일 재생을 종료해야 할 때

performSelector:withObject:afterDelay: 

내가 AUGraph을 중지 할 수 있습니다 사용.

일시 정지 AUGRAPH 기능상

그것은 일시 정지를 구현하는 것은 아주 간단 것으로 나타났다. AUGraph 데이터 소스는 변경되지 않지만

[graphController startAUGraph]; or [graphController stopAUGraph]; 

은 재생을 일시 중지/다시 시작합니다.

performSelector 타이머에 영향을 미치지 만. 따라서 일시 정지/반복하지 않을 가능성을 모두 사용하려면 NSTimer (AUGraph가 일시 중지 된 경우)를 사용해야하며 타이머도 일시 중지됩니다. AUGraph가 다시 시작되면 타이머가 카운팅을 다시 시작하고 제공된 사운드 파일 지속 시간에 도달하면 재생을 중지합니다.

AVAudioPlayer (또는 기간을 제공하는 다른 플레이어)에서 기간 값을 사용하여 결론

-이/정지 (노 반복/반복) 일시 정지/플레이 AUGraph 사운드 플레이어를 구현할 수/다음 곡/이전 곡/기능 + EQUALIZER. 다른 프레임 워크를 포함하여 피

http://developer.apple.com/library/mac/#samplecode/PlayFile/Introduction/Intro.html

:

Float64 fileDuration = PrepareFileAU (fileAU, fileFormat, audioFile); 

가에서 ADC 샘플을 참조하십시오

0

AVAudioPlayer는 쉽게에서 시간을 얻을 수있는, 거대한 클래스입니다.

관련 문제